Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-9240

QGtkStyle broken with newer Gtk+ versions

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.6.3
    • 4.6.2
    • GUI: Look'n'Feel
    • None
    • 966768a637a607abd9c26917e62be994c397864f

    Description

      Hello,

      We do builds on Centos 5.4 and run on Fedora 12. It seems QGtkStyle has broken recently with respect to Fedora 12 Gtk versions. We notice that QGtkStyle does not work properly on Fedora 12. With Qt 4.5.3, the application would default to a different Qt theme engine. We recently tried upgrading our runtime environment to Qt 4.6.2 but the application will segfault if QGtkStyle is attempting to draw. Please see debugging information attached below.


      QGtkStyle was unable to detect the current GTK+ theme.

      (process:10931): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

      (process:10931): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

      (process:10931): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

      (process:10931): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

      (process:10931): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

      (process:10931): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

      (process:10931): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

      (process:10931): Gtk-CRITICAL **: gtk_widget_style_get: assertion `GTK_IS_WIDGET (widget)' failed

      (gdb) bt
      #0 0x00000000 in ?? ()
      #1 0xf5635a56 in QGtkStyle::subElementRect(QStyle::SubElement, QStyleOption const*, QWidget const*) const ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #2 0xf55d336e in QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #3 0xf5675d49 in QWindowsStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #4 0xf565fa52 in QCleanlooksStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #5 0xf5637414 in QGtkStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #6 0xf572feeb in QPushButton::paintEvent(QPaintEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/li--Type <return> to continue, or q <return> to quit--
      bQtGui.so.4
      #7 0xf52d37ad in QWidget::event(QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #8 0xf568b24e in QAbstractButton::event(QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #9 0xf572f4a2 in QPushButton::event(QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #10 0xf527a11c in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #11 0xf5280cf4 in QApplication::notify(QObject*, QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #12 0xf4ef904b in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtCore.so.4
      #13 0xf52dbd66 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      --Type <return> to continue, or q <return> to quit--
      #14 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #15 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #16 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #17 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #18 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      --Type <return> to continue, or q <return> to quit--
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #19 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #20 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #21 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #22 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #23 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      --Type <return> to continue, or q <return> to quit--
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #24 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #25 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #26 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #27 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #28 0xf52dc9de in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      --Type <return> to continue, or q <return> to quit--
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #29 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #30 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #31 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #32 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #33 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/li--Type <return> to continue, or q <return> to quit--
      bQtGui.so.4
      #34 0xf52dcba5 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #35 0xf52dbab5 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #36 0xf54c3a0c in ?? ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #37 0xf52cce43 in QWidgetPrivate::syncBackingStore() ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #38 0xf52f9556 in ?? ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #39 0xf5304294 in QApplication::x11ProcessEvent(_XEvent*) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #40 0xf5331352 in ?? ()
      --Type <return> to continue, or q <return> to quit--
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #41 0xf48b1f88 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
      #42 0xf48b58b8 in ?? () from /lib/libglib-2.0.so.0
      #43 0xf48b59e4 in g_main_context_iteration () from /lib/libglib-2.0.so.0
      #44 0xf4f23565 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtCore.so.4
      #45 0xf5330eb5 in ?? ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #46 0xf4ef7899 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtCore.so.4
      #47 0xf4ef7cea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtCore.so.4
      #48 0xf4efa13f in QCoreApplication::exec() ()
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtCore.so.4
      #49 0xf527a1b7 in QApplication::exec() ()
      --Type <return> to continue, or q <return> to quit--
      from /home/kevinb/arails/builder64/trunk/platform/Linux_i686/bin/../lib/qt/libQtGui.so.4
      #50 0x08123619 in main (argc=1, argv=0xffffd1a4) at main.cpp:114

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            bachewii Jens
            kev009 Kevin Bowling
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes