Title: [100190] trunk/Source/WebKit2
- Revision
- 100190
- Author
- [email protected]
- Date
- 2011-11-14 14:22:02 -0800 (Mon, 14 Nov 2011)
Log Message
Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
https://bugs.webkit.org/show_bug.cgi?id=72299
Patch by Viatcheslav Ostapenko <[email protected]> on 2011-11-14
Reviewed by Noam Rosenthal.
Added check that clipping rect is valid.
Clear GL error that might remain from QT GL operations.
Added GL error assert for scissor test operations.
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::paintToCurrentGLContext):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (100189 => 100190)
--- trunk/Source/WebKit2/ChangeLog 2011-11-14 22:19:24 UTC (rev 100189)
+++ trunk/Source/WebKit2/ChangeLog 2011-11-14 22:22:02 UTC (rev 100190)
@@ -1,3 +1,17 @@
+2011-11-14 Viatcheslav Ostapenko <[email protected]>
+
+ Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
+ https://bugs.webkit.org/show_bug.cgi?id=72299
+
+ Reviewed by Noam Rosenthal.
+
+ Added check that clipping rect is valid.
+ Clear GL error that might remain from QT GL operations.
+ Added GL error assert for scissor test operations.
+
+ * UIProcess/API/qt/qquickwebpage.cpp:
+ (QQuickWebPagePrivate::paintToCurrentGLContext):
+
2011-11-14 Anders Carlsson <[email protected]>
Only send progress notifications for the main frame
Modified: trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp (100189 => 100190)
--- trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp 2011-11-14 22:19:24 UTC (rev 100189)
+++ trunk/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp 2011-11-14 22:22:02 UTC (rev 100190)
@@ -210,16 +210,25 @@
float opacity = computeEffectiveOpacity(q);
QRectF clipRect = q->parentItem()->mapRectToScene(q->parentItem()->boundingRect());
+ if (!clipRect.isValid())
+ return;
+
+ // Make sure that no GL error code stays from previous QT operations.
+ glGetError();
+
glEnable(GL_SCISSOR_TEST);
+ ASSERT(!glGetError());
const int left = clipRect.left();
const int width = clipRect.width();
const int bottom = q->canvas()->height() - (clipRect.bottom() + 1);
const int height = clipRect.height();
glScissor(left, bottom, width, height);
+ ASSERT(!glGetError());
pageProxy->renderToCurrentGLContext(transform, opacity);
glDisable(GL_SCISSOR_TEST);
+ ASSERT(!glGetError());
}
void QQuickWebPagePrivate::_q_onAfterSceneRender()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes