diff --git a/tdeui/ksharedpixmap.cpp b/tdeui/ksharedpixmap.cpp index 91babd672..6789e0a64 100644 --- a/tdeui/ksharedpixmap.cpp +++ b/tdeui/ksharedpixmap.cpp @@ -162,6 +162,13 @@ bool KSharedPixmap::x11Event(XEvent *event) Status status = XGetGeometry(tqt_xdisplay(), pixmap, &root, &dummy, &dummy, &width, &height, &udummy, &udummy); + // HACK + // XGetGeometry can return bogus values on some systems, leading to a SIGFPE + // See http://bugs.trinitydesktop.org/show_bug.cgi?id=1161 for details + // Work around that here... + if ((width < 1) || (height < 1)) + return false; + if (status == BadDrawable) return false;