mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
qemu: Work around the crash seen on Ubuntu.
Due to different stack contents in sdl_display_init on Ubuntu vs other distros, an uninitialized structure is causing a crash. Zeroing the structure makes the behavior uniform across distros, avoiding the Ubuntu crash, but doesn't fix the underlying bugs, notably: the return value of SDL_GetWMInfo needs to be checked, as it's currently failing silently the underlying reason for the failure of SDL_GetWMInfo needs to be found - there is a GetWMINfo method in the internal SDL structure which is NULL, and the reason for this needs to be found. Signed-off-by: Jeff Dike <jdike@linux.intel.com>
This commit is contained in:
+16
@@ -0,0 +1,16 @@
|
|||||||
|
# This is a workaround to the crashes seen on Ubuntu. Setting info to zero
|
||||||
|
# makes info.info.x11.display zero and avoids the calls to
|
||||||
|
# opengl_exec_set_parent_window, one of which is crashing.
|
||||||
|
|
||||||
|
Index: qemu-0.12.4/sdl.c
|
||||||
|
===================================================================
|
||||||
|
--- qemu-0.12.4.orig/sdl.c
|
||||||
|
+++ qemu-0.12.4/sdl.c
|
||||||
|
@@ -871,6 +871,7 @@ void sdl_display_init(DisplayState *ds,
|
||||||
|
vi = SDL_GetVideoInfo();
|
||||||
|
host_format = *(vi->vfmt);
|
||||||
|
|
||||||
|
+ bzero(&info, sizeof(info));
|
||||||
|
SDL_GetWMInfo(&info);
|
||||||
|
if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
|
||||||
|
opengl_exec_set_parent_window(info.info.x11.display,
|
||||||
@@ -14,5 +14,6 @@ SRC_URI = "\
|
|||||||
file://fix-nogl.patch \
|
file://fix-nogl.patch \
|
||||||
file://qemugl-allow-glxcontext-release.patch \
|
file://qemugl-allow-glxcontext-release.patch \
|
||||||
file://linker-flags.patch"
|
file://linker-flags.patch"
|
||||||
|
file://init-info.patch;patch=1"
|
||||||
|
|
||||||
S = "${WORKDIR}/qemu-${PV}"
|
S = "${WORKDIR}/qemu-${PV}"
|
||||||
|
|||||||
Reference in New Issue
Block a user