early, and I think also there is a Qt bug that it complains about a painter being
around on a destroyed object that's really just a QShared reference going away. Worked
around.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@18474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-12-29 George Staikos <staikos@kde.org>
+
+ Reviewed by Sam.
+
+ Don't crash on sites such as www.apple.com. Painter was ended incorrectly among other issues.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::TransparencyLayer::TransparencyLayer):
+ (WebCore::TransparencyLayer::cleanup):
+ (WebCore::GraphicsContext::endTransparencyLayer):
+ * platform/qt/ScrollViewCanvasQt.cpp:
+ (WebCore::ScrollViewCanvasQt::paintEvent):
+
2006-12-29 Nikolas Zimmermann <zimmermann@kde.org>
Build fixed, not reviewed. Noticed by Daniel Molkentin.
{
TransparencyLayer(const QPainter& p, int width, int height)
{
- pixmap = QPixmap(width, height);
+ pixmap = new QPixmap(width, height);
- painter = new QPainter(&pixmap);
+ painter = new QPainter(pixmap);
painter->setPen(p.pen());
painter->setBrush(p.brush());
painter->setMatrix(p.matrix());
}
TransparencyLayer()
- : painter(0)
+ : pixmap(0)
+ , painter(0)
{
}
void cleanup()
{
delete painter;
+ delete pixmap;
}
- QPixmap pixmap;
+ QPixmap* pixmap;
QPainter* painter;
qreal opacity;
};
#if QT_VERSION >= 0x040200
m_data->p().setOpacity(layer.opacity);
#endif
- m_data->p().drawPixmap(0, 0, layer.pixmap);
+ m_data->p().drawPixmap(0, 0, *layer.pixmap);
m_data->p().restore();
- m_data->p().end();
layer.cleanup();
}
QRect clip = ev->rect();
+ fv->layout();
+
QPainter p(this);
GraphicsContext ctx(&p);
- fv->layout();
fv->frame()->paint(&ctx, clip);
}
+2006-12-29 George Staikos <staikos@kde.org>
+
+ Add missing notimplemented.
+
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::frameLoaderDestroyed):
+ (WebCore::FrameLoaderClientQt::canHandleRequest):
+ (WebCore::FrameLoaderClientQt::partClearedInBegin):
+
2006-12-21 Lars Knoll <lars@trolltech.com>
Reviewed by Zack
void FrameLoaderClientQt::frameLoaderDestroyed()
{
-
+ notImplemented();
}
bool FrameLoaderClientQt::canHandleRequest(const WebCore::ResourceRequest&) const
{
-
+ notImplemented();
}
void FrameLoaderClientQt::partClearedInBegin()
{
+ notImplemented();
}
}