From: Bruno Tarquini <btarquini@gmail.com>
Subject: [Patch] expedite: fix segfault at exit shutdown the engine before evas because Xext, Xrender and GL (loaded by evas) seem to register a hook which is called in XCloseDisplay (in engine_shutdown()). this segfault because evas_shutdown() should unload those libs, and so, invalidate the hook pointer. this bug was already noted by caro in @43373: > strangely, the xrender xlib and gl xlib engines are segfaulting when XCloseDisplay is called (in the shutdown function). > It does not with soft xlib. I absolutely don't know why. with this proper fix, remove also Xext, Xrender from dependencies, which are not used directly by expedite. triggered by compiling with --as-needed, because it removed unused libs: libXrender, libXext. tested with xlib, gl and sdl engine SVN revision: 65336
This commit is contained in:
parent
cc17bb4172
commit
44476d7e76
1
AUTHORS
1
AUTHORS
|
@ -2,3 +2,4 @@ The Rasterman (Carsten Haitzler) <raster@rasterman.com>
|
|||
Tim Horton <hortont424@gmail.com>
|
||||
Saumsung Electronics <tbd>
|
||||
Samsung SAIT <tbd>
|
||||
Bruno Tarquini <btarquini@gmail.com>
|
||||
|
|
|
@ -151,11 +151,11 @@ if test "x$have_software_xlib" = "xyes" -o "x$have_software_16_x11" = "xyes" -o
|
|||
[have_xlib="yes"],
|
||||
[have_xlib="no"])
|
||||
if test "x$want_evas_simple_x11" = "xyes"; then
|
||||
x_libs="${x_libs} -lX11 -lXext -lXrender"
|
||||
x_libs="${x_libs} -lX11"
|
||||
else
|
||||
x_dir=${x_dir:-/usr/X11R6}
|
||||
x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
|
||||
x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
|
||||
x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11"
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL(BUILD_X11, [test "x$have_xlib" = "xyes"])
|
||||
|
|
|
@ -1382,7 +1382,7 @@ main(int argc, char **argv)
|
|||
|
||||
evas_free(evas);
|
||||
|
||||
evas_shutdown();
|
||||
engine_shutdown();
|
||||
evas_shutdown();
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue