Skip to content
This repository has been archived by the owner on Jun 16, 2018. It is now read-only.

Commit

Permalink
[WK2][EFL] No need to remove surface before replacing
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=103055

Rubberstamped by Simon Hausmann.

The surface is stored in a OwnPtr which automatically
frees the existing surface after replacing it with a new
one. For some reason, this also fixes resizing issues on
my Nvidia driver.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@135514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
[email protected] committed Nov 22, 2012
1 parent c1a5e1a commit 8e3c571
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 6 deletions.
18 changes: 18 additions & 0 deletions Source/WebKit2/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
2012-11-22 Kenneth Rohde Christiansen <[email protected]>

[WK2][EFL] No need to remove surface before replacing
https://bugs.webkit.org/show_bug.cgi?id=103055

Rubberstamped by Simon Hausmann.

The surface is stored in a OwnPtr which automatically
frees the existing surface after replacing it with a new
one. For some reason, this also fixes resizing issues on
my Nvidia driver.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
* UIProcess/API/efl/ewk_view.cpp:
(_ewk_view_smart_calculate):

2012-11-22 Christophe Dumez <[email protected]>

WebKitTestRunner needs layoutTestController.setCacheModel
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/UIProcess/API/efl/EwkViewImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ bool EwkViewImpl::createGLSurface(const IntSize& viewSize)
EVAS_GL_MULTISAMPLE_NONE
};

ASSERT(!m_evasGLSurface);
// Replaces if non-null, and frees existing surface after (OwnPtr).
m_evasGLSurface = EvasGLSurface::create(evasGL(), &evasGLConfig, viewSize);
if (!m_evasGLSurface)
return false;
Expand Down
1 change: 0 additions & 1 deletion Source/WebKit2/UIProcess/API/efl/EwkViewImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ class EwkViewImpl {
Evas_GL* evasGL() { return m_evasGL.get(); }
Evas_GL_Context* evasGLContext() { return m_evasGLContext ? m_evasGLContext->context() : 0; }
Evas_GL_Surface* evasGLSurface() { return m_evasGLSurface ? m_evasGLSurface->surface() : 0; }
void clearEvasGLSurface() { m_evasGLSurface.clear(); }
#endif

// FIXME: needs refactoring (split callback invoke)
Expand Down
4 changes: 0 additions & 4 deletions Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -387,10 +387,6 @@ static void _ewk_view_smart_calculate(Evas_Object* ewkView)
impl->page()->drawingArea()->setSize(IntSize(width, height), IntSize());

#if USE(ACCELERATED_COMPOSITING)
// Recreate surface if needed.
if (impl->evasGLSurface())
impl->clearEvasGLSurface();

if (width && height)
impl->createGLSurface(IntSize(width, height));
#endif
Expand Down

0 comments on commit 8e3c571

Please sign in to comment.