^^^ Subject says it better than I possibly could. Of the new comix themes 1.2.x, I tried only 1.2.3 that just recently landed in portage. It crashes GTK apps when used with gtk-qt-engine (0.6-r1); the crash occurs early while drawing the initial window (except Gimp, that gets through its splash), so to me it looks like a particular widget breaks. The unfortunate thing about it is that the previous ebuild (1.1.6) is removed from portage. Reproducible: Always Steps to Reproduce: Portage 2.0.51.19 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.11-gentoo-r2 i686) ================================================================= System uname: 2.6.11-gentoo-r2 i686 AMD Athlon(tm) XP 1600+ Gentoo Base System version 1.6.9 Python: dev-lang/python-2.3.5 [2.3.5 (#1, Feb 27 2005, 20:11:28)] ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5 sys-devel/binutils: 2.15.92.0.2-r4 sys-devel/libtool: 1.5.10-r5 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks sandbox sfperms strict userpriv usersandbox" GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage-overlays/misc" SYNC="rsync://deimos.ffzg.hr/gentoo-portage" USE="x86 3dnow 3dnowex X a52 aalib acpi alsa aotuv apm audiofile avi bash-completion berkdb bzlib cdparanoia cdr crypt cscope curl directfb doc dvd dvdr dvdread edl emboss encode escreen faad fbcon fbdev flac foomaticdb fortran framebuffer freetype gdbm geoip gif gstreamer gtk2 imagemagick imlib ithreads jack jack-tmpfs jpeg kdeenablefinal libg++ libwww live lzo lzw-tiff mad matroska mikmod mmx mmx2 mng motif mp3 mpeg mpi ncurses network nls nodrm nptl nvidia objc offensive oggvorbis opengl pam pcre pdflib perl pic png python qt quicktime readline real rtc sdl slang sndfile soundtouch spell sqlite sse ssl stroke svg tcpd tga threads tiff truetype truetype-fonts unicode userlocales v4l v4l2 xine xml xml2 xprint xv xvid xvmc yv12 zlib" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
I tried to reproduce the crash with ethereal or the gimp, but couldn't... Do you have a backtrace?
Well, Gimp's backtrace was this: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1209927456 (LWP 20260)] 0xb73de3b4 in QObject::parent (this=0x0) at qobject.h:154 154 QObject *parent() const { return parentObj; } Current language: auto; currently c++ (gdb) bt #0 0xb73de3b4 in QObject::parent (this=0x0) at qobject.h:154 #1 0xb73de798 in QWidget::parentWidget (this=0x0, sameWindow=false) at qwidget.h:856 #2 0xb73d77d3 in ComixStyle::drawPrimitive (this=0x84eb708, pe=3221212064, p=0xbfffcf30, r=@0xbfffceb0, cg=@0x8457bcc, flags=139376392, opt=@0x0) at Comix.cpp:1880 #3 0xb7bb8961 in drawTabFrame (window=0x8c9f860, style=0x84fd1d8, state=GTK_STATE_NORMAL, x=0, y=270, w=224, h=302, pos=GTK_POS_TOP) at qrect.h:172 #4 0xb7bb277e in draw_box_gap (style=0x0, window=0x8c9f860, state_type=GTK_STATE_NORMAL, shadow_type=GTK_SHADOW_OUT, area=0x8506f58, widget=0x0, detail=0x469063e3 "gtknotebook.c:992", x=0, y=272, width=224, height=300, gap_side=GTK_POS_TOP, gap_x=0, gap_width=93) at qt_theme_draw.c:1094 #5 0x467d9f9a in gtk_paint_box_gap () from /usr/lib/libgtk-x11-2.0.so.0 #6 0x00000000 in ?? () #7 0x00000002 in ?? () #8 0x08506f58 in ?? () #9 0x08b98ff0 in ?? () #10 0x469063da in gtk_major_version () from /usr/lib/libgtk-x11-2.0.so.0 <...snipped really deep stacking of unresolved functions...> So, that lead me to tweak Comix' tab drawing options; bullseye, it's "Use konsole tab color". Never crashes without it and never fails to with it. The offending code: case PE_PanelTabWidget: { QColor innerColor = cg.background(); if( _konsoleTabColor ) { QWidget *mySelf = dynamic_cast<QWidget*>(p->device()); QWidget *parent = mySelf->parentWidget(); if( parent ) It used to be: case PE_PanelTabWidget: { QColor innerColor = cg.background(); QWidget *mySelf = dynamic_cast<QWidget*>(p->device()); QWidget *innerWidget = 0; if( mySelf ) { Judging by the NULL this-pointer in parentWidget, it's the test for mySelf that used to save it. I'm a pretty lousy coder with no knowledge of Qt, GTK, _or_ X, so that's about what I can provide. Hope it helps.
Very good work, that's definitely the problem. You should just send the backtrace and the comments to the comix author, it will be trivial to fix.
Done. Feel free to close it UPSTREAM.
Ok.
comix-1.2.4 is now in portage.