modesetting: simplify bailing on calloc fail
The "done" label restores crtc-> {x,y,rotation,mode}, frees output_id. Doing the calloc() before writing to those values frees us from necessity to restore them if calloc fails, and allows to merge "if (mode)" block. Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
c2954b16c8
commit
c720495305
|
@ -595,6 +595,10 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
|
||||||
uint32_t fb_id = 0;
|
uint32_t fb_id = 0;
|
||||||
drmModeModeInfo kmode;
|
drmModeModeInfo kmode;
|
||||||
|
|
||||||
|
output_ids = calloc(sizeof(uint32_t), xf86_config->num_output);
|
||||||
|
if (!output_ids)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
saved_mode = crtc->mode;
|
saved_mode = crtc->mode;
|
||||||
saved_x = crtc->x;
|
saved_x = crtc->x;
|
||||||
saved_y = crtc->y;
|
saved_y = crtc->y;
|
||||||
|
@ -605,15 +609,7 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
|
||||||
crtc->x = x;
|
crtc->x = x;
|
||||||
crtc->y = y;
|
crtc->y = y;
|
||||||
crtc->rotation = rotation;
|
crtc->rotation = rotation;
|
||||||
}
|
|
||||||
|
|
||||||
output_ids = calloc(sizeof(uint32_t), xf86_config->num_output);
|
|
||||||
if (!output_ids) {
|
|
||||||
ret = FALSE;
|
|
||||||
goto done;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mode) {
|
|
||||||
for (i = 0; i < xf86_config->num_output; i++) {
|
for (i = 0; i < xf86_config->num_output; i++) {
|
||||||
xf86OutputPtr output = xf86_config->output[i];
|
xf86OutputPtr output = xf86_config->output[i];
|
||||||
drmmode_output_private_ptr drmmode_output;
|
drmmode_output_private_ptr drmmode_output;
|
||||||
|
|
Loading…
Reference in New Issue