--- script~ 2007-11-04 02:43:29.000000000 -0800
+++ script 2007-11-04 02:44:03.000000000 -0800
@@ -5,23 +5,7 @@
CWD="`dirname \"$0\"`"
TMP=/tmp/$UID/TemporaryItems
-ps -wx -ocommand | grep -e '[X]11' > /dev/null
-if [ "$?" != "0" -a ! -f ~/.xinitrc ]; then
- echo "rm -f ~/.xinitrc" > ~/.xinitrc
- sed 's/xterm/# xterm/' /usr/X11R6/lib/X11/xinit/xinitrc >> ~/.xinitrc
-fi
-
mkdir -p $TMP
-cp -f "$CWD/bin/getdisplay.sh" $TMP
-rm -f $TMP/display
-open-x11 $TMP/getdisplay.sh || \
-open -a XDarwin $TMP/getdisplay.sh || \
-echo ":0" > $TMP/display
-
-while [ "$?" == "0" -a ! -f $TMP/display ]; do sleep 1; done
-export "DISPLAY=`cat $TMP/display`"
-
-ps -wx -ocommand | grep -e '[X]11' > /dev/null || exit 11
cd ~/
exec "$CWD/bin/gimp" "$@"
Then, I ran it, and it ran, and ... yeah, it's painfully slow. After opening a new canvas and drawing a bit with the default brush, it crashed with this stacktrace:
#0 0x00a45294 in gdk_x_error ()
#1 0x00c82c14 in _XError ()
#2 0x00c848d1 in _XReply ()
#3 0x00c63c52 in XGetMotionEvents ()
#4 0x00a4144f in gdk_device_get_history ()
#5 0x00170f25 in gimp_display_shell_canvas_tool_events ()
#6 0x006c4ae2 in _gtk_marshal_BOOLEAN__BOXED ()
#7 0x00f3766f in g_closure_invoke ()
#8 0x00f489a1 in signal_emit_unlocked_R ()
#9 0x00f498db in g_signal_emit_valist ()
#10 0x00f4a1fb in g_signal_emit ()
#11 0x00834979 in gtk_widget_event_internal ()
#12 0x00834415 in gtk_widget_event ()
#13 0x006c3170 in gtk_propagate_event ()
#14 0x006c1d26 in gtk_main_do_event ()
#15 0x00a39411 in gdk_event_dispatch ()
#16 0x00f99ef9 in g_main_context_dispatch ()
#17 0x00f9d40d in g_main_context_iterate ()
#18 0x00f9d7ad in g_main_loop_run ()
#19 0x000030e6 in app_run ()
#20 0x00004071 in main ()
So, it's crashing in XGetMotionEvents, which is part of libX11. I tried rebuilding libX11 with debugging symbols so we could get more information... and now it's not crashing anymore. That doesn't mean it's fixed, but I have to try to find a way to make it crash again.
--