fix segfault: move backend selection before wm_backend is first used in main()
This commit is contained in:
parent
aaf5e94b05
commit
550d7828a8
23
src/main.c
23
src/main.c
|
|
@ -603,6 +603,17 @@ int main(int argc, char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef USE_WAYLAND_BACKEND
|
||||
if (getenv("WMAKER_USE_WAYLAND"))
|
||||
wm_backend = &wl_backend;
|
||||
else
|
||||
#endif
|
||||
#ifdef USE_X11_BACKEND
|
||||
wm_backend = &x11_backend;
|
||||
#else
|
||||
wm_backend = &wl_backend;
|
||||
#endif
|
||||
|
||||
DisplayName = wm_backend->display_get_name(DisplayName);
|
||||
len = strlen(DisplayName) + 64;
|
||||
str = wmalloc(len);
|
||||
|
|
@ -776,18 +787,6 @@ static int real_main(int argc, char **argv)
|
|||
*ptr = 0;
|
||||
}
|
||||
|
||||
/* Select backend before opening the display. */
|
||||
#ifdef USE_WAYLAND_BACKEND
|
||||
if (getenv("WMAKER_USE_WAYLAND"))
|
||||
wm_backend = &wl_backend;
|
||||
else
|
||||
#endif
|
||||
#ifdef USE_X11_BACKEND
|
||||
wm_backend = &x11_backend;
|
||||
#else
|
||||
wm_backend = &wl_backend;
|
||||
#endif
|
||||
|
||||
/* open display */
|
||||
dpy = (Display *)wm_backend->display_open(DisplayName);
|
||||
wm_backend->display_post_open(DisplayName, &multiHead);
|
||||
|
|
|
|||
Loading…
Reference in New Issue