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

Entering text causes the application to crash on Symbian

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 4.6.0
    • 4.6.1
    • None
    • None
    • Symbian^1 emulator and touch HW
    • cee1c16a4738e30db5c011f4ae7e273387b5d998

    Description

      When entering text with fullscreen FEP to lineedit when lineedit isn't fully visible and causing QWidget scroll event to make the character visible we get Kern-Exec 3 as the backingstore is null.
      The bug here is that widget backing store is deleted when FEP is the fullscreen foreground window.

      Offending lines can be found from gui/kernel/qapplication_s60.cpp:

          case EEventWindowVisibilityChanged:
      ...
                  if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::ENotVisible) {
                      delete w->d_func()->topData()->backingStore;
                      w->d_func()->topData()->backingStore = 0;
       ... 
      

      Deletion must not be done if we are running fullscreen FEP.

      Callstack is from QWebview based app showing google front page and being scrolled enough to right to not to show the first character.

      61 QWidgetBackingStore::bltRect() C:\repos\qt-webkit\src\gui\painting\qbackingstore.cpp:264 0x04dc9c88
      60 QWidgetPrivate::scrollRect() C:\repos\qt-webkit\src\gui\painting\qbackingstore.cpp:1004 0x04dcc5ee
      59 QWidgetPrivate::scroll_sys() C:\repos\qt-webkit\src\gui\kernel\qwidget_s60.cpp:841 0x04cf0f06
      58 QWidget::scroll() C:\repos\qt-webkit\src\gui\kernel\qwidget.cpp:9955 0x04ccc317
      57 QWebPageWidgetClient::scroll() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\Api\qwebpage.cpp:178 0x07f30173
      56 WebCore::ChromeClientQt::scroll() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\WebCoreSupport\ChromeClientQt.cpp:329 0x07f4f22b
      55 WebCore::Chrome::scroll() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\page\Chrome.cpp:78 0x07c4246d
      54 WebCore::ScrollView::scrollContents() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\ScrollView.cpp:513 0x07cb6d37
      53 WebCore::ScrollView::valueChanged() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\ScrollView.cpp:263 0x07cb5d4e
      52 WebCore::FrameView::valueChanged() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\page\FrameView.cpp:1447 0x07c6fc52
      51 WebCore::Scrollbar::setCurrentPos() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\Scrollbar.cpp:277 0x07cb2c4b
      50 WebCore::Scrollbar::setValue() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\Scrollbar.cpp:97 0x07cb215d
      49 WebCore::ScrollView::updateScrollbars() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\ScrollView.cpp:439 0x07cb6794
      48 WebCore::ScrollView::setScrollPosition() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\ScrollView.cpp:308 0x07cb5f83
      47 WebCore::ScrollView::scrollRectIntoViewRecursively() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\platform\ScrollView.cpp:275 0x07cb5de2
      46 WebCore::FrameView::scrollRectIntoViewRecursively() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\page\FrameView.cpp:872 0x07c6d577
      45 WebCore::RenderLayer::scrollRectToVisible() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\rendering\RenderLayer.cpp:1265 0x07da898c
      44 WebCore::RenderLayer::scrollRectToVisible() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\rendering\RenderLayer.cpp:1268 0x07da89af
      43 WebCore::RenderLayer::scrollRectToVisible() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\rendering\RenderLayer.cpp:1268 0x07da89af
      42 WebCore::Frame::revealSelection() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\page\Frame.cpp:1326 0x07c64e63
      41 WebCore::Editor::revealSelectionAfterEditingOperation() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\editing\Editor.cpp:2559 0x0784c2bd
      40 WebCore::Editor::setIgnoreCompositionSelectionChange() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\editing\Editor.cpp:2569 0x0784c2f7
      39 WebCore::Editor::setComposition() C:\repos\qt-webkit\src\3rdparty\webkit\WebCore\editing\Editor.cpp:1420 0x07849b98
      38 QWebPagePrivate::inputMethodEvent() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\Api\qwebpage.cpp:1261 0x07f3372f
      37 QWebPage::event() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\Api\qwebpage.cpp:2567 0x07f38bc7
      36 QWebView::inputMethodEvent() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\Api\qwebview.cpp:947 0x07f3c7b3
      35 QWidget::event() C:\repos\qt-webkit\src\gui\kernel\qwidget.cpp:8064 0x04cc958e
      34 QWebView::event() C:\repos\qt-webkit\src\3rdparty\webkit\WebKit\qt\Api\qwebview.cpp:657 0x07f3bf8d
      33 QApplicationPrivate::notify_helper() C:\repos\qt-webkit\src\gui\kernel\qapplication.cpp:4242 0x04c7b36c
      32 QApplication::notify() C:\repos\qt-webkit\src\gui\kernel\qapplication.cpp:4207 0x04c7a9fa
      31 QCoreApplication::notifyInternal() C:\repos\qt-webkit\src\corelib\kernel\qcoreapplication.cpp:704 0x044dbd2b
      30 QCoreApplication::sendEvent() C:\repos\qt-webkit\src\corelib\kernel\qcoreapplication.h:215 0x044589c3
      29 QInputContext::sendEvent() C:\repos\qt-webkit\src\gui\inputmethod\qinputcontext.cpp:280 0x04ba4fe0
      28 QCoeFepInputContext::StartFepInlineEditL() C:\repos\qt-webkit\src\gui\inputmethod\qcoefepinputcontext_s60.cpp:499 0x04ba72b6
      27 0x7051A954( avkonfep.dll )() 0x7051a954
      26 0x70512D3C( avkonfep.dll )() 0x70512d3c
      25 0x7054328F( avkonfep.dll )() 0x7054328f
      24 0x7052E062( avkonfep.dll )() 0x7052e062
      23 0x7053B1DF( avkonfep.dll )() 0x7053b1df
      22 0x705049DF( avkonfep.dll )() 0x705049df
      21 0x70527079( avkonfep.dll )() 0x70527079
      20 0x406010BA( cone.dll )() 0x406010ba
      19 0x4060187D( cone.dll )() 0x4060187d
      18 0x40B4AB13( eikcore.dll )() 0x40b4ab13
      17 0x56A8245( avkon.dll )() 0x056a8245
      16 QS60MainAppUi::HandleWsEventL() C:\repos\qt-webkit\src\gui\s60framework\qs60mainappui.cpp:184 0x04dd09a3
      15 0x4060A68D( cone.dll )() 0x4060a68d
      14 0x60002336( euser.dll )() 0x60002336
      13 QEventDispatcherSymbian::processEvents() C:\repos\qt-webkit\src\corelib\kernel\qeventdispatcher_symbian.cpp:736 0x0450ffc5
      12 QEventDispatcherS60::processEvents() C:\repos\qt-webkit\src\gui\kernel\qeventdispatcher_s60.cpp:74 0x04cecdb5
      11 QEventLoop::processEvents() C:\repos\qt-webkit\src\corelib\kernel\qeventloop.cpp:149 0x044d9180
      10 QEventLoop::exec() C:\repos\qt-webkit\src\corelib\kernel\qeventloop.cpp:201 0x044d9379
      9 QCoreApplication::exec() C:\repos\qt-webkit\src\corelib\kernel\qcoreapplication.cpp:981 0x044dc363
      8 QApplication::exec() C:\repos\qt-webkit\src\gui\kernel\qapplication.cpp:3570 0x04c787b9
      7 main() C:\webviewclient\main.cpp:53 0x00401188
      6 QtMainWrapper() C:\repos\qt-webkit\src\s60main\qts60main_mcrt0.cpp:87 0x00402fc1
      5 E32Main() C:\repos\qt-webkit\src\s60main\qts60main.cpp:57 0x00402dfc
      4 _E32Startup() L:\src\cedar\generic\base\e32\euser\epoc\win32\uc_exe.cpp:83 0x004024c8
      3 0x8E7947F( ekern.exe )() 0x08e7947f
      2 0x8E77987( ekern.exe )() 0x08e77987
      1 0x7C80B50B( KERNEL32.dll )() 0x7c80b50b

      Attachments

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

        Activity

          People

            e0150566 Janne Koskinen
            e0150566 Janne Koskinen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes