Title: [116585] trunk/Source/WebCore
- Revision
- 116585
- Author
- [email protected]
- Date
- 2012-05-09 17:34:48 -0700 (Wed, 09 May 2012)
Log Message
[Cairo] GLContextGLX releases the context with an uninitialized display
https://bugs.webkit.org/show_bug.cgi?id=86039
Patch by Martin Robinson <[email protected]> on 2012-05-09
Reviewed by Philippe Normand.
No new tests. This does not change behavior on most machines, but has
the potential to prevent a pretty nasty crash on others.
Use the shared display to release GLX contexts instead of the uninitialized
m_display member.
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::~GLContextGLX): Release the display with the shared
display.
* platform/graphics/glx/GLContextGLX.h:
(GLContextGLX): Remove the m_display member.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (116584 => 116585)
--- trunk/Source/WebCore/ChangeLog 2012-05-10 00:32:55 UTC (rev 116584)
+++ trunk/Source/WebCore/ChangeLog 2012-05-10 00:34:48 UTC (rev 116585)
@@ -1,3 +1,22 @@
+2012-05-09 Martin Robinson <[email protected]>
+
+ [Cairo] GLContextGLX releases the context with an uninitialized display
+ https://bugs.webkit.org/show_bug.cgi?id=86039
+
+ Reviewed by Philippe Normand.
+
+ No new tests. This does not change behavior on most machines, but has
+ the potential to prevent a pretty nasty crash on others.
+
+ Use the shared display to release GLX contexts instead of the uninitialized
+ m_display member.
+
+ * platform/graphics/glx/GLContextGLX.cpp:
+ (WebCore::GLContextGLX::~GLContextGLX): Release the display with the shared
+ display.
+ * platform/graphics/glx/GLContextGLX.h:
+ (GLContextGLX): Remove the m_display member.
+
2012-05-09 Tony Gentilcore <[email protected]>
Subresources loaded after a reload completes shouldn't be revalidated.
Modified: trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp (116584 => 116585)
--- trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp 2012-05-10 00:32:55 UTC (rev 116584)
+++ trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.cpp 2012-05-10 00:34:48 UTC (rev 116585)
@@ -240,8 +240,8 @@
// This may be necessary to prevent crashes with NVidia's closed source drivers. Originally
// from Mozilla's 3D canvas implementation at: http://bitbucket.org/ilmari/canvas3d/
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
- glXMakeCurrent(m_display, None, None);
- glXDestroyContext(m_display, m_context);
+ glXMakeCurrent(sharedDisplay(), None, None);
+ glXDestroyContext(sharedDisplay(), m_context);
}
if (m_pbuffer) {
Modified: trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.h (116584 => 116585)
--- trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.h 2012-05-10 00:32:55 UTC (rev 116584)
+++ trunk/Source/WebCore/platform/graphics/glx/GLContextGLX.h 2012-05-10 00:34:48 UTC (rev 116585)
@@ -63,7 +63,6 @@
GLContextGLX(GLXContext, Pixmap, GLXPixmap);
GLXContext m_context;
- Display* m_display;
XID m_window;
GLXPbuffer m_pbuffer;
Pixmap m_pixmap;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes