rpms/compiz/devel cow.patch,NONE,1.1 compiz.spec,1.22,1.23
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Aug 30 02:31:51 UTC 2006
- Previous message (by thread): rpms/mesa/devel .cvsignore, 1.10, 1.11 mesa.spec, 1.94, 1.95 sources, 1.9, 1.10
- Next message (by thread): rpms/esc/devel esc-1.0.0-notify-icon-fixes.patch, NONE, 1.1 esc-1.0.0-ui-enhance.patch, 1.3, 1.4 esc.spec, 1.11, 1.12
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: krh
Update of /cvs/dist/rpms/compiz/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8768
Modified Files:
compiz.spec
Added Files:
cow.patch
Log Message:
* Tue Aug 29 2006 Kristian Høgsberg <krh at redhat.com> - 0.0.13-0.20.20060817git.fc6
- Add cow.patch to make compiz use the composite overlay window.
cow.patch:
include/compiz.h | 2 ++
src/display.c | 6 +++---
src/event.c | 7 ++++++-
src/screen.c | 27 +++++++++++++++++++++++++--
4 files changed, 36 insertions(+), 6 deletions(-)
--- NEW FILE cow.patch ---
--- ./src/display.c.cow 2006-08-29 19:48:53.000000000 -0400
+++ ./src/display.c 2006-08-29 18:11:46.000000000 -0400
@@ -1998,7 +1998,7 @@
PAINT_SCREEN_REGION_MASK |
PAINT_SCREEN_FULL_MASK);
- glXSwapBuffers (s->display->display, s->root);
+ glXSwapBuffers (s->display->display, s->output);
}
else if (s->damageMask & COMP_SCREEN_DAMAGE_REGION_MASK)
{
@@ -2022,7 +2022,7 @@
y = s->height - pBox->y2;
(*s->copySubBuffer) (s->display->display,
- s->root,
+ s->output,
pBox->x1, y,
pBox->x2 - pBox->x1,
pBox->y2 - pBox->y1);
@@ -2071,7 +2071,7 @@
&s->region,
PAINT_SCREEN_FULL_MASK);
- glXSwapBuffers (s->display->display, s->root);
+ glXSwapBuffers (s->display->display, s->output);
}
}
--- ./src/screen.c.cow 2006-08-29 14:11:48.000000000 -0400
+++ ./src/screen.c 2006-08-29 18:19:32.000000000 -0400
@@ -40,6 +40,8 @@
#include <X11/Xatom.h>
#include <X11/Xproto.h>
#include <X11/extensions/Xrandr.h>
+#include <X11/extensions/Xcomposite.h>
+#include <X11/extensions/shape.h>
#include <X11/cursorfont.h>
#include <compiz.h>
@@ -878,6 +880,25 @@
(unsigned char *) data, 1);
}
+static void
+makeOutputWindow (CompScreen *s)
+{
+ Display *dpy = s->display->display;
+ XserverRegion region;
+
+ s->overlay = XCompositeGetOverlayWindow (dpy, s->root);
+ s->output = s->overlay;
+
+ region = XFixesCreateRegion (dpy, NULL, 0);
+
+ XFixesSetWindowShapeRegion (dpy,
+ s->output,
+ ShapeInput,
+ 0, 0, region);
+
+ XFixesDestroyRegion (dpy, region);
+}
+
Bool
addScreen (CompDisplay *display,
int screenNum,
@@ -1045,6 +1066,8 @@
s->grabWindow = None;
+ makeOutputWindow (s);
+
templ.visualid = XVisualIDFromVisual (s->attrib.visual);
visinfo = XGetVisualInfo (dpy, VisualIDMask, &templ, &nvisinfo);
@@ -1174,7 +1197,7 @@
s->copySubBuffer = (GLXCopySubBufferProc)
getProcAddress (s, "glXCopySubBufferMESA");
- glXMakeCurrent (dpy, s->root, s->ctx);
+ glXMakeCurrent (dpy, s->output, s->ctx);
currentRoot = s->root;
glExtensions = (const char *) glGetString (GL_EXTENSIONS);
@@ -2844,7 +2867,7 @@
{
if (currentRoot != s->root)
{
- glXMakeCurrent (s->display->display, s->root, s->ctx);
+ glXMakeCurrent (s->display->display, s->output, s->ctx);
currentRoot = s->root;
s->pendingCommands = TRUE;
--- ./include/compiz.h.cow 2006-08-29 19:36:02.000000000 -0400
+++ ./include/compiz.h 2006-08-29 15:46:43.000000000 -0400
@@ -1288,6 +1288,8 @@
Region damage;
unsigned long damageMask;
Window root;
+ Window overlay;
+ Window output;
XWindowAttributes attrib;
Window grabWindow;
CompFBConfig glxPixmapFBConfigs[MAX_DEPTH + 1];
--- ./src/event.c.cow 2006-08-29 21:37:29.000000000 -0400
+++ ./src/event.c 2006-08-29 21:39:03.000000000 -0400
@@ -1145,7 +1145,12 @@
s = findScreenAtDisplay (d, event->xcreatewindow.parent);
if (s)
{
- addWindow (s, event->xcreatewindow.window, getTopWindow (s));
+ /* The first time some client asks for the composite
+ * overlay window, the X server creates it, which causes
+ * an errorneous CreateNotify event. We catch it and
+ * ignore it. */
+ if (s->overlay != event->xcreatewindow.window)
+ addWindow (s, event->xcreatewindow.window, getTopWindow (s));
}
break;
case DestroyNotify:
Index: compiz.spec
===================================================================
RCS file: /cvs/dist/rpms/compiz/devel/compiz.spec,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- compiz.spec 25 Aug 2006 22:12:02 -0000 1.22
+++ compiz.spec 30 Aug 2006 02:31:49 -0000 1.23
@@ -10,7 +10,7 @@
License: X11/MIT/GPL
Group: User Interface/Desktops
Version: 0.0.13
-Release: 0.19.%{snapshot}git%{?dist}
+Release: 0.20.%{snapshot}git%{?dist}
Summary: OpenGL window and compositing manager
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -41,6 +41,7 @@
Patch104: fbconfig-depth-fix.patch
Patch105: fedora-logo.patch
Patch106: glfinish.patch
+Patch107: cow.patch
# Patches already upstream
Patch200: resize-move-keybindings.patch
@@ -78,6 +79,7 @@
%patch104 -p1 -b .fbconfig-depth-fix
%patch105 -p1 -b .fedora-logo
%patch106 -p1 -b .glfinish
+%patch107 -p1 -b .cow
%patch200 -p1 -b .resize-move-keybindings
%patch201 -p1 -b .sync-override-redirect-windows
@@ -142,6 +144,9 @@
%{_includedir}/compiz
%changelog
+* Tue Aug 29 2006 Kristian Høgsberg <krh at redhat.com> - 0.0.13-0.20.20060817git.fc6
+- Add cow.patch to make compiz use the composite overlay window.
+
* Fri Aug 25 2006 Soren Sandmann <sandmann at redhat.com> - 0.0.13-0.19-20060817git.fc6
- Rebase to desktop-effects 0.6.41
- Previous message (by thread): rpms/mesa/devel .cvsignore, 1.10, 1.11 mesa.spec, 1.94, 1.95 sources, 1.9, 1.10
- Next message (by thread): rpms/esc/devel esc-1.0.0-notify-icon-fixes.patch, NONE, 1.1 esc-1.0.0-ui-enhance.patch, 1.3, 1.4 esc.spec, 1.11, 1.12
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list