Revision 567404

Go back to digest for 30th July 2006

Bug Fixes in KDE Base

Nikolas Zimmermann committed changes in /branches/work/unity/WebKit/WebCore/platform:

Fix bug currently causing kde.org to crash.

The ScrollViewQt constructor uses "if (1 ||isFrameView())" to determine when
to construct a CanvasQt. CanvasQt assumes that the passed "ScrollView" object
is static castable to a "FrameView" -> as it's not, it'll crash!

The problem is that isFrameView() can't be accessed in the ctor yet, when
operating on FrameView objects as the FrameView ctor is not yet called.
(as detected by Zack (tm) )

Solution: Add a non-virtual init() function to ScrollView, call it from
the FrameQt object, afer constructing FrameView objects. Now isFrameView()
properly returns true, and the CanvasQt magically works fine ;-)

Please review, kde.org and test/crashOne.html work again w/o crashes on destruction.

File Changes

Modified 3 files
  • /branches/work/unity/WebKit/WebCore/platform
  •   /ScrollView.h
  •   /qt/FrameQt.cpp
  •   /qt/ScrollViewQt.cpp
3 files changed in total