Comment 2 for bug 590160

Revision history for this message
Matt Reed (tuxrecipes) wrote :

I had the same problem as well. I poked around a bit and found a "quick and dirty" bug fix.

I installed the debug symbols version of libglib2.0-0 (sudo su - ; aptitude install libglib2.0-0-dbg ), built the deb (cd /usr/src; mkdir FS; cd FS; apt-get -b source firestarter; dpkg -i firestarter*deb) and piped it through a debugger (ddd) to locate where the program crashes, and it happens in the source file 'eggtrayicon.c', where a call to the gdk function 'gdk_window_set_back_pixmap' is made in the function 'make_transparent' (another such call is made in make_transparent_again) with NULL as the second argument (where you are supposed to pass the pointer to the pixmap if it exists; perhaps the new versions of gdk don't take a NULL pointer, and hence the crash?), where it is apparently trying to set/adjust firestarter tray icon properties. Once I commented out these two calls (this needs to be done by editing the patchfile firestarter-1.0.3/debian/patches/12_firestarter_transparent_icon.dpatch ), rebuilt the deb (dpkg-buildpackage -uc -b), installed and ran it, the program did not crash and seems to be working normally.

I am attaching the modified patch file that I used (replace the identically named file in the debian/patches folder of the source tree with this one). If someone uses this stopgap method to build the package for regular use until an official fix is rolled out by the developers, you may want to do 'aptitude remove libglib2.0-0-dbg' first and then rebuild using the normal glib library. Those unfamiliar with (re)building debs may want to look up Section 6 ("Working with source packages") of the APT HOWTO for a quick rundown.