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

Crash on resizing Webkit plugin

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.2.0
    • 5.1.1, 5.2.0 Beta1
    • WebKit
    • None
    • Windows 7 + Windows 8, MSVC + MinGW, Linux 64 Bit
    • 049fcfba58eb1a3e71859f27cbb6a8c62a99db02

    Description

      The attached sample application uses QtWebKit's QWebPluginFactory to add a simple OpenGL based plugin(QGLWidget based).
      On resizing the application , it crashes in QPainter::save() with a warning message "QPaintDevice: Cannot destroy paint device that is being painted"

      This crash happens on windows 7 and I am able to resize the app without issues on mac. (although "QWidget::repaint: Recursive repaint detected" warning occurs)

      Tested with Qt 5.1.1, msvc c++ compiler(visual studio 2012), windows 7

      Also, it appears that this bug has been introduced after QT4.8.4 as the crash does not occur when tested with Qt4.8.4

      The crash log I see appears to be similar to the issue reported in https://bugs.webkit.org/show_bug.cgi?id=109785
      I have added my comments to this bug as well.

      Attached is a simple sample application that demonstrates the crash.

      Crash log:
      0 QPainter::save qpainter.cpp 1581 0xbcd94a
      1 WebCore::GraphicsContext::savePlatformState GraphicsContextQt.cpp 349 0x29b4260
      2 WebCore::GraphicsContext::save GraphicsContext.cpp 103 0x29aae32
      3 QWebFrameAdapter::renderRelativeCoords QWebFrameAdapter.cpp 520 0x25c8c8e
      4 QWebFrame::render qwebframe.cpp 643 0xf94ac06
      5 QWebFrame::render qwebframe.cpp 654 0xf94abc4
      6 QWebView::paintEvent qwebview.cpp 831 0xf95a868
      7 QWidget::event qwidget.cpp 8043 0x648c6d8f
      8 QWebView::event qwebview.cpp 730 0xf95a465
      9 QApplicationPrivate::notify_helper qapplication.cpp 3457 0x6488131e
      10 QApplication::notify qapplication.cpp 3422 0x6487f3ac
      11 QCoreApplication::notifyInternal qcoreapplication.cpp 867 0x66c7fdc4
      12 QCoreApplication::sendSpontaneousEvent qcoreapplication.h 235 0x66d91938
      13 QWidgetPrivate::drawWidget qwidget.cpp 5132 0x648cc61e
      14 QWidgetPrivate::paintSiblingsRecursive qwidget.cpp 5327 0x648ccc8a
      15 QWidgetPrivate::drawWidget qwidget.cpp 5185 0x648cc90c
      16 QWidgetBackingStore::sync qwidgetbackingstore.cpp 1093 0x64890c36
      17 QWidgetPrivate::syncBackingStore qwidget.cpp 1678 0x648ce501
      18 QWidgetWindow::handleResizeEvent qwidgetwindow.cpp 539 0x6490051b
      19 QWidgetWindow::event qwidgetwindow.cpp 181 0x648ff61a
      20 QApplicationPrivate::notify_helper qapplication.cpp 3457 0x6488131e
      21 QApplication::notify qapplication.cpp 2878 0x6487d58c
      22 QCoreApplication::notifyInternal qcoreapplication.cpp 867 0x66c7fdc4
      23 QCoreApplication::sendSpontaneousEvent qcoreapplication.h 235 0x66d91938
      24 QGuiApplicationPrivate::processGeometryChangeEvent qguiapplication.cpp 1747 0x9472ed
      ... <More>

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-34277
          # Subject Branch Project Status CR V

          Activity

            People

              mibrunin Michael Bruning
              qtcomsupport Qt Support
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes