[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

compiz: Changes to 'upstream-unstable'



 cmake/FindCompiz.cmake                  |   18 +++++++-----
 include/core/core.h                     |    2 -
 include/core/screen.h                   |    1 
 plugins/cube/src/cube.cpp               |    3 +-
 plugins/decor/src/decor.cpp             |    1 
 plugins/opengl/include/opengl/opengl.h  |    2 -
 plugins/opengl/include/opengl/texture.h |    3 ++
 plugins/opengl/src/screen.cpp           |    3 +-
 plugins/opengl/src/texture.cpp          |    3 +-
 plugins/resize/src/resize.cpp           |   47 +++++++++++++++++---------------
 src/event.cpp                           |   17 ++++++++---
 src/screen.cpp                          |    8 ++++-
 12 files changed, 68 insertions(+), 40 deletions(-)

New commits:
commit f059fae9963dcb69f2a85b5b26cb615565b4c3e1
Author: Sam Spilsbury <sam.spilsbury@canonical.com>
Date:   Thu Feb 24 15:54:16 2011 +0800

    Fix broken build

diff --git a/plugins/decor/src/decor.cpp b/plugins/decor/src/decor.cpp
index 326d2f4..6e975f0 100644
--- a/plugins/decor/src/decor.cpp
+++ b/plugins/decor/src/decor.cpp
@@ -75,7 +75,7 @@ isAncestorTo (CompWindow *window,
  * occlusion detection
  */
 void
-DecorWindow::computeShadowRegion (bool transformedWindows)
+DecorWindow::computeShadowRegion ()
 {
     shadowRegion = CompRegion (window->outputRect ());
 

commit 3f3551f41310da96650024edde76e4d952b8a6ad
Author: Sam Spilsbury <sam.spilsbury@canonical.com>
Date:   Thu Feb 24 15:52:09 2011 +0800

    Specify plugin name when loading images to find the correct
    image loading dir for plugins which don't specify absolute
    paths to their images

diff --git a/include/core/core.h b/include/core/core.h
index b0b86b3..7543f58 100644
--- a/include/core/core.h
+++ b/include/core/core.h
@@ -27,7 +27,7 @@
 #define _COMPIZ_CORE_H
 
 
-#define CORE_ABIVERSION 20110131
+#define CORE_ABIVERSION 20110224
 
 #include <stdio.h>
 #include <assert.h>
diff --git a/include/core/screen.h b/include/core/screen.h
index f9652f1..6f4ef01 100644
--- a/include/core/screen.h
+++ b/include/core/screen.h
@@ -211,6 +211,7 @@ class CompScreen :
 					 bool   override_redirect = false);
 
 	bool readImageFromFile (CompString &name,
+				CompString &pname,
 				CompSize   &size,
 				void       *&data);
 
diff --git a/plugins/cube/src/cube.cpp b/plugins/cube/src/cube.cpp
index 9436fdf..0751388 100644
--- a/plugins/cube/src/cube.cpp
+++ b/plugins/cube/src/cube.cpp
@@ -388,9 +388,10 @@ PrivateCubeScreen::updateSkydomeTexture ()
 	return;
 
     CompString imgName = optionGetSkydomeImage ();
+    CompString pname = "cube";
 
     if (optionGetSkydomeImage ().empty () ||
-	(mSky = GLTexture::readImageToTexture (imgName, mSkySize)).empty ())
+	(mSky = GLTexture::readImageToTexture (imgName, pname, mSkySize)).empty ())
     {
 	GLfloat aaafTextureData[128][128][3];
 	GLfloat fRStart = (GLfloat) optionGetSkydomeGradientStartColorRed () / 0xffff;
diff --git a/plugins/decor/src/decor.cpp b/plugins/decor/src/decor.cpp
index d2bfadb..326d2f4 100644
--- a/plugins/decor/src/decor.cpp
+++ b/plugins/decor/src/decor.cpp
@@ -61,7 +61,6 @@ isAncestorTo (CompWindow *window,
     return false;
 }
 
-
 /* Make shadows look nice, don't paint shadows on top of
  * things they don't make sense on top of, eg, menus
  * need shadows but they don't need to be painted when
@@ -76,7 +75,7 @@ isAncestorTo (CompWindow *window,
  * occlusion detection
  */
 void
-DecorWindow::computeShadowRegion ()
+DecorWindow::computeShadowRegion (bool transformedWindows)
 {
     shadowRegion = CompRegion (window->outputRect ());
 
diff --git a/plugins/opengl/include/opengl/opengl.h b/plugins/opengl/include/opengl/opengl.h
index 5b4045c..a9c74ef 100644
--- a/plugins/opengl/include/opengl/opengl.h
+++ b/plugins/opengl/include/opengl/opengl.h
@@ -35,7 +35,7 @@
 #include <opengl/texture.h>
 #include <opengl/fragment.h>
 
-#define COMPIZ_OPENGL_ABI 2
+#define COMPIZ_OPENGL_ABI 3
 
 #include <core/pluginclasshandler.h>
 
diff --git a/plugins/opengl/include/opengl/texture.h b/plugins/opengl/include/opengl/texture.h
index 3d0ddba..2023402 100644
--- a/plugins/opengl/include/opengl/texture.h
+++ b/plugins/opengl/include/opengl/texture.h
@@ -200,9 +200,12 @@ class GLTexture : public CompRect {
 	 * return a GLTexture::List with its contents
 	 *
 	 * @param imageFileName The filename of the image
+	 * @param pluginName	The name of the plugin, used to find
+	 *			the default image path
 	 * @param size		The size of this new texture
 	 */
 	static List readImageToTexture (CompString &imageFileName,
+					CompString &pluginName,
 					CompSize   &size);
 
 	friend class PrivateTexture;
diff --git a/plugins/opengl/src/screen.cpp b/plugins/opengl/src/screen.cpp
index 5fe1cc0..253f03b 100644
--- a/plugins/opengl/src/screen.cpp
+++ b/plugins/opengl/src/screen.cpp
@@ -815,8 +815,9 @@ PrivateGLScreen::updateScreenBackground ()
     {
 	CompSize   size;
 	CompString fileName (backgroundImage);
+	CompString pname ("");
 
-	backgroundTextures = GLTexture::readImageToTexture (fileName, size);
+	backgroundTextures = GLTexture::readImageToTexture (fileName, pname, size);
     }
 
     if (!backgroundTextures.empty ())
diff --git a/plugins/opengl/src/texture.cpp b/plugins/opengl/src/texture.cpp
index 27ccddd..3c4ddcf 100644
--- a/plugins/opengl/src/texture.cpp
+++ b/plugins/opengl/src/texture.cpp
@@ -368,11 +368,12 @@ GLTexture::imageDataToTexture (const char *image,
 
 GLTexture::List
 GLTexture::readImageToTexture (CompString &imageFileName,
+			       CompString &pluginName,
 			       CompSize   &size)
 {
     void *image = NULL;
 
-    if (!screen->readImageFromFile (imageFileName, size, image) || !image)
+    if (!screen->readImageFromFile (imageFileName, pluginName, size, image) || !image)
 	return GLTexture::List ();
 
     GLTexture::List rv =
diff --git a/src/screen.cpp b/src/screen.cpp
index e56d2e0..2c9c2e2 100644
--- a/src/screen.cpp
+++ b/src/screen.cpp
@@ -1065,6 +1065,7 @@ PrivateScreen::handleSelectionClear (XEvent *event)
 
 bool
 CompScreen::readImageFromFile (CompString &name,
+			       CompString &pname,
 			       CompSize   &size,
 			       void       *&data)
 {
@@ -1082,6 +1083,8 @@ CompScreen::readImageFromFile (CompString &name,
 	    path += "/";
 	    path += HOME_IMAGEDIR;
 	    path += "/";
+	    path += pname;
+	    path += "/";
 	    path += name;
 
 	    status = fileToImage (path, size, stride, data);
@@ -1092,6 +1095,8 @@ CompScreen::readImageFromFile (CompString &name,
 
 	path = IMAGEDIR;
 	path += "/";
+	path += pname;
+	path += "/";
 	path += name;
 	status = fileToImage (path, size, stride, data);
     }
@@ -3857,6 +3862,7 @@ bool
 CompScreen::updateDefaultIcon ()
 {
     CompString file = priv->optionGetDefaultIcon ();
+    CompString pname = "";
     void       *data;
     CompSize   size;
 
@@ -3866,7 +3872,7 @@ CompScreen::updateDefaultIcon ()
 	priv->defaultIcon = NULL;
     }
 
-    if (!readImageFromFile (file, size, data))
+    if (!readImageFromFile (file, pname, size, data))
 	return false;
 
     priv->defaultIcon = new CompIcon (screen, size.width (), size.height ());

commit e444196baf546d6e60e45fa83baf9cad06f787ae
Author: Sam Spilsbury <sam.spilsbury@canonical.com>
Date:   Thu Feb 24 13:29:18 2011 +0800

    Fix mismatched brace

diff --git a/src/event.cpp b/src/event.cpp
index b2d0133..a1ccd10 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -1857,8 +1857,8 @@ CompScreen::handleEvent (XEvent *event)
 	    if (w)
 		w->priv->updatePassiveButtonGrabs ();
 	}
-
-	break;
+    }
+    break;
     case FocusOut:
 	if (event->xfocus.mode == NotifyUngrab)
 	    priv->grabbed = false;

commit 1c9eb6d5d9110f4640cb87ef1f7fe3f32b3115db
Author: Sam Spilsbury <smspillaz@gmail.com>
Date:   Thu Feb 24 10:29:00 2011 +0800

    Remove debugging message

diff --git a/cmake/FindCompiz.cmake b/cmake/FindCompiz.cmake
index efe6046..f9db100 100644
--- a/cmake/FindCompiz.cmake
+++ b/cmake/FindCompiz.cmake
@@ -59,7 +59,6 @@ if (NOT _COMPIZ_INTERNAL)
 	set (PKGCONFIG_REGEX ".*${PKGCONFIG_REGEX}/lib/pkgconfig:${PKGCONFIG_REGEX}/share/pkgconfig.*")
 
 	if (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
-		message ("cmake install prefix initialized to default")
 
 	    if (NOT "$ENV{PKG_CONFIG_PATH}" MATCHES "${PKGCONFIG_REGEX}")
 		if ("" STREQUAL "$ENV{PKG_CONFIG_PATH}")

commit 81bcc730206d3b4be38e86c0388d2412610f258f
Author: Sam Spilsbury <smspillaz@gmail.com>
Date:   Thu Feb 24 10:24:08 2011 +0800

    Don't override the user's PKG_CONFIG_PATH with the CMAKE_INSTALL_PATH
    unless the user explicitly changed the CMAKE_INSTALL_PATH.
    
    Rationale: If the user has their PKG_CONFIG_PATH set to /foo/bar
    they would expect that when doing things like, eg installing plugins
    locally (which ignores CMAKE_INSTALL_PREFIX), that the buildsystem
    would pick up pkg-config files from their PKG_CONFIG_PATH which they
    have specified themselves and not the default CMAKE_INSTALL_PREFIX,
    however when the user changes the CMAKE_INSTALL_PREFIX they need
    to have that be used for pkg-config purposes.

diff --git a/cmake/FindCompiz.cmake b/cmake/FindCompiz.cmake
index 152083b..efe6046 100644
--- a/cmake/FindCompiz.cmake
+++ b/cmake/FindCompiz.cmake
@@ -58,14 +58,19 @@ if (NOT _COMPIZ_INTERNAL)
         string (REGEX REPLACE "([\\+\\(\\)\\^\\\$\\.\\-\\*\\?\\|])" "\\\\\\1" PKGCONFIG_REGEX ${CMAKE_INSTALL_PREFIX})
 	set (PKGCONFIG_REGEX ".*${PKGCONFIG_REGEX}/lib/pkgconfig:${PKGCONFIG_REGEX}/share/pkgconfig.*")
 
-	if (NOT "$ENV{PKG_CONFIG_PATH}" MATCHES "${PKGCONFIG_REGEX}")
-	    if ("" STREQUAL "$ENV{PKG_CONFIG_PATH}")
-		set (ENV{PKG_CONFIG_PATH} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
-	    else ()
-		set (ENV{PKG_CONFIG_PATH}
-		    "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig:$ENV{PKG_CONFIG_PATH}")
+	if (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+		message ("cmake install prefix initialized to default")
+
+	    if (NOT "$ENV{PKG_CONFIG_PATH}" MATCHES "${PKGCONFIG_REGEX}")
+		if ("" STREQUAL "$ENV{PKG_CONFIG_PATH}")
+		    set (ENV{PKG_CONFIG_PATH} "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig")
+	    	else ()
+		    set (ENV{PKG_CONFIG_PATH}
+		         "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig:${CMAKE_INSTALL_PREFIX}/share/pkgconfig:$ENV{PKG_CONFIG_PATH}")
+		endif ()
 	    endif ()
-	endif ()
+
+	endif (NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
 
 	# look for compiz
 	pkg_check_modules (COMPIZ ${_req} "compiz${_comp_ver}")

commit a230d28eda989eb8ef77574d9320200dcba25a3c
Author: Sam Spilsbury <smspillaz@gmail.com>
Date:   Thu Feb 24 08:23:33 2011 +0800

    Track focus changes for destroyed windows too since we'll change the focus later anyways

diff --git a/src/event.cpp b/src/event.cpp
index fd71fe6..b2d0133 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -1794,9 +1794,18 @@ CompScreen::handleEvent (XEvent *event)
     case CirculateRequest:
 	break;
     case FocusIn:
-	XGetWindowAttributes (priv->dpy, event->xfocus.window, &wa);
+    {
+        bool success = XGetWindowAttributes (priv->dpy, event->xfocus.window, &wa);
+
+        /* If the call to XGetWindowAttributes failed it means
+         * the window was destroyed, so track the focus change
+         * anyways since we need to increment activeNum
+         * and the passive button grabs and then we will
+         * get the DestroyNotify later and change the focus
+         * there
+         */
 
-	if (wa.root == priv->root)
+        if (!success || wa.root == priv->root)
 	{
 	    if (event->xfocus.mode != NotifyGrab)
 	    {

commit a30a8eeaf91b5023da64eaacb4b014e48d7f3582
Author: Sam Spilsbury <sam.spilsbury@canonical.com>
Date:   Wed Feb 23 01:42:08 2011 +0800

    Check if we're resizing from a grab handle first (eg isConstrained)
    before using constraint area. Fixes crash when using alt + button2
    to resize and hitting an edge

diff --git a/plugins/resize/src/resize.cpp b/plugins/resize/src/resize.cpp
index 12fc866..265ae45 100644
--- a/plugins/resize/src/resize.cpp
+++ b/plugins/resize/src/resize.cpp
@@ -842,29 +842,32 @@ ResizeScreen::handleMotionEvent (int xRoot, int yRoot)
 	     * mixup here is intentional)
 	     */
 
-	    if (mask == ResizeLeftMask)
+	    if (isConstrained)
 	    {
-		if (xRoot == 0 &&
-		    geometry.x - w->input ().left > grabWindowWorkArea->left ())
-		    pointerDx += abs (yRoot - lastPointerY) * -1;
-	    }
-	    else if (mask == ResizeRightMask)
-	    {
-		if (xRoot == screen->width () -1 &&
-		    geometry.x + geometry.width + w->input ().right < grabWindowWorkArea->right ())
-		    pointerDx += abs (yRoot - lastPointerY);
-	    }
-	    if (mask == ResizeUpMask)
-	    {
-		if (yRoot == 0 &&
-		    geometry.y - w->input ().top > grabWindowWorkArea->top ())
-		    pointerDy += abs (xRoot - lastPointerX) * -1;
-	    }
-	    else if (mask == ResizeDownMask)
-	    {
-		if (yRoot == screen->height () -1 &&
-		    geometry.y + geometry.height + w->input ().bottom < grabWindowWorkArea->bottom ())
-		    pointerDx += abs (yRoot - lastPointerY);
+		if (mask == ResizeLeftMask)
+		{
+		    if (xRoot == 0 &&
+			geometry.x - w->input ().left > grabWindowWorkArea->left ())
+			pointerDx += abs (yRoot - lastPointerY) * -1;
+		}
+		else if (mask == ResizeRightMask)
+		{
+		    if (xRoot == screen->width () -1 &&
+			geometry.x + geometry.width + w->input ().right < grabWindowWorkArea->right ())
+			pointerDx += abs (yRoot - lastPointerY);
+		}
+		if (mask == ResizeUpMask)
+		{
+		    if (yRoot == 0 &&
+			geometry.y - w->input ().top > grabWindowWorkArea->top ())
+			pointerDy += abs (xRoot - lastPointerX) * -1;
+		}
+		else if (mask == ResizeDownMask)
+		{
+		    if (yRoot == screen->height () -1 &&
+			geometry.y + geometry.height + w->input ().bottom < grabWindowWorkArea->bottom ())
+			pointerDx += abs (yRoot - lastPointerY);
+		}
 	    }
 	}
 


Reply to: