forked from enlightenment/efl
Set number of returned modes early in the process.
Let's be a bit pedantic here, if the number of returned modes is Zero, then just free resources and get out. Signed-off-by: Christopher Michael <cp.michael@samsung.com> SVN revision: 83617
This commit is contained in:
parent
cc2b953b65
commit
f317906408
|
@ -639,6 +639,18 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, int *num)
|
||||||
{
|
{
|
||||||
Ecore_X_Randr_Mode_Info **ret = NULL;
|
Ecore_X_Randr_Mode_Info **ret = NULL;
|
||||||
|
|
||||||
|
/* set the returned number of modes */
|
||||||
|
if (num) *num = res->nmode;
|
||||||
|
|
||||||
|
/* if we did not get any modes from X, then cleanup and return */
|
||||||
|
if (res->nmode == 0)
|
||||||
|
{
|
||||||
|
/* free the resources */
|
||||||
|
XRRFreeScreenResources(res);
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* try to allocate space for our return variable */
|
/* try to allocate space for our return variable */
|
||||||
if ((ret = (Ecore_X_Randr_Mode_Info **)
|
if ((ret = (Ecore_X_Randr_Mode_Info **)
|
||||||
malloc(res->nmode * sizeof(Ecore_X_Randr_Mode_Info *))))
|
malloc(res->nmode * sizeof(Ecore_X_Randr_Mode_Info *))))
|
||||||
|
@ -682,9 +694,6 @@ ecore_x_randr_modes_info_get(Ecore_X_Window root, int *num)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set the returned number of modes */
|
|
||||||
if ((ret) && (num)) *num = res->nmode;
|
|
||||||
|
|
||||||
/* free the resources */
|
/* free the resources */
|
||||||
XRRFreeScreenResources(res);
|
XRRFreeScreenResources(res);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue