[haiku-commits] BRANCH looncraz-github.CAP-dirty [80dab88e3b1d] in src/servers/app/drawing/interface/local: . src/servers/app

  • From: looncraz-github.CAP-dirty <community@xxxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 23 Mar 2015 06:16:36 +0100 (CET)

added 1 changeset to branch 'refs/remotes/looncraz-github/CAP-dirty'
old head: f188fcceb2ed7cb3ea98ebb99cf53afa261ec051
new head: 80dab88e3b1d6fc07a19126ec0be72e0f06069e1
overview: https://github.com/looncraz/haiku/compare/f188fcceb2ed...80dab88e3b1d

----------------------------------------------------------------------------

80dab88e3b1d: Fix Cyclic Call
  
  Don't you just hate it when you forget to reference the derive class's
  version of a function call you overloaded and cause a KDL?
  
  I sure do.

                                        [ looncraz <looncraz@xxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Commit:      80dab88e3b1d6fc07a19126ec0be72e0f06069e1
Author:      looncraz <looncraz@xxxxxxxxxxxx>
Date:        Mon Mar 23 05:02:40 2015 UTC

----------------------------------------------------------------------------

4 files changed, 19 insertions(+), 6 deletions(-)
src/servers/app/Desktop.cpp                                 | 5 +++++
src/servers/app/ServerWindow.cpp                            | 9 +++++++--
src/servers/app/drawing/interface/local/CompositeEngine.cpp | 5 +++--
src/servers/app/drawing/interface/local/CompositeWindow.cpp | 6 ++++--

----------------------------------------------------------------------------

diff --git a/src/servers/app/Desktop.cpp b/src/servers/app/Desktop.cpp
index 5d2dfdd..71c1e4e 100644
--- a/src/servers/app/Desktop.cpp
+++ b/src/servers/app/Desktop.cpp
@@ -58,6 +58,8 @@
 #include "Workspace.h"
 #include "WorkspacesView.h"
 
+#include "RapidDebug.h"
+
 #if TEST_MODE
 #      include "EventStream.h"
 #endif
@@ -2742,6 +2744,9 @@ Desktop::SetCompositingEnabled(bool enable)
        if (enable == IsCompositingEnabled())
                return B_ALREADY_RUNNING;
 
+       _LOGF("Desktop(%p) : SetCompositingEnabled(%i) from %i\n", this, enable,
+               IsCompositingEnabled());
+
        LockAllWindows();
        if (fCompositeEngine == NULL) {
                fCompositeEngine = new (std::nothrow) ::CompositeEngine(this);
diff --git a/src/servers/app/ServerWindow.cpp b/src/servers/app/ServerWindow.cpp
index b9c7f83..cbce763 100644
--- a/src/servers/app/ServerWindow.cpp
+++ b/src/servers/app/ServerWindow.cpp
@@ -3630,8 +3630,13 @@ ServerWindow::MakeWindow(BRect frame, const char* name,
 {
        //TODO: make this compile-time configurable
 
-       ::HWInterface* windowHWInterface
-               = new (std::nothrow) CompositeWindowHWInterface(fDesktop);
+       ::HWInterface* windowHWInterface = NULL;
+
+       if (fDesktop->IsCompositingEnabled())
+               windowHWInterface
+                       = new (std::nothrow) 
CompositeWindowHWInterface(fDesktop);
+       else
+               windowHWInterface = fDesktop->HWInterface();
 
        windowHWInterface->Initialize();
 
diff --git a/src/servers/app/drawing/interface/local/CompositeEngine.cpp 
b/src/servers/app/drawing/interface/local/CompositeEngine.cpp
index 6753a58..04e46b5 100644
--- a/src/servers/app/drawing/interface/local/CompositeEngine.cpp
+++ b/src/servers/app/drawing/interface/local/CompositeEngine.cpp
@@ -55,7 +55,7 @@ CompositeEngineClient::CompositeEngineClient(CompositeEngine* 
engine)
        fCompositeEngine(engine)
 {
 #      if ENABLE_LOGGING
-       _LOGF("CompositeEngineClient (%p) created\n", this);
+       _LOGF("CompositeEngineClient (%p) created on engine (%p)\n", this, 
engine);
 #      endif
 
        if (fCompositeEngine != NULL)
@@ -66,7 +66,8 @@ CompositeEngineClient::CompositeEngineClient(CompositeEngine* 
engine)
 CompositeEngineClient::~CompositeEngineClient()
 {
 #      if ENABLE_LOGGING
-       _LOGF("CompositeEngineClient (%p) destroyed\n", this);
+       _LOGF("CompositeEngineClient (%p) destroyed on engine (%p)\n", this,
+               fCompositeEngine);
 #      endif
 
        if (fCompositeEngine != NULL)
diff --git a/src/servers/app/drawing/interface/local/CompositeWindow.cpp 
b/src/servers/app/drawing/interface/local/CompositeWindow.cpp
index 04c3ed9..b00ad37 100644
--- a/src/servers/app/drawing/interface/local/CompositeWindow.cpp
+++ b/src/servers/app/drawing/interface/local/CompositeWindow.cpp
@@ -445,8 +445,10 @@ CompositeWindow::ConvertDrawingToScreen(BRect* rect) const
 void
 CompositeWindow::ConvertDrawingToScreen(BRegion* region) const
 {
-       if (!IsCompositeWindow())
+       if (!IsCompositeWindow()){
+               Window::ConvertDrawingToScreen(region);
                return;
+       }
 
        _WindowBuffer()->ConvertFromBuffer(region);
        region->OffsetBy(Frame().left, Frame().top);
@@ -457,7 +459,7 @@ void
 CompositeWindow::_TriggerContentRedraw(BRegion& dirtyContentRegion)
 {
        if (!IsCompositeWindow()) {
-               _TriggerContentRedraw(dirtyContentRegion);
+               Window::_TriggerContentRedraw(dirtyContentRegion);
                return;
        }
        /*


Other related posts: