Hello community, here is the log from the commit of package compiz checked in at Sun May 21 18:55:46 CEST 2006. -------- --- compiz/compiz.changes 2006-05-19 22:59:39.000000000 +0200 +++ compiz/compiz.changes 2006-05-21 15:40:12.000000000 +0200 @@ -1,0 +2,6 @@ +Sun May 21 15:28:26 CEST 2006 - dreveman@suse.de + +- Fix stacking and sync request issues. (bnc #173416) +- Fix shadow performance in g-w-d. + +------------------------------------------------------------------- Old: ---- compiz-0.0.10.tar.bz2 New: ---- compiz-0.0.11.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz.spec ++++++ --- /var/tmp/diff_new_pack.ALQzUx/_old 2006-05-21 18:55:39.000000000 +0200 +++ /var/tmp/diff_new_pack.ALQzUx/_new 2006-05-21 18:55:39.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package compiz (Version cvs_060519) +# spec file for package compiz (Version cvs_060521) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -17,14 +17,14 @@ PreReq: %fillup_prereq Requires: libpng libdrm gconf2 gtk2 gnome-desktop control-center2 libsvg libsvg-cairo libwnck xgl-hardware-list >= 060519 Autoreqprov: on -Version: cvs_060519 +Version: cvs_060521 Release: 1 Summary: OpenGL window and compositing manager. BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 ### /bin/ls *.tar.{gz,bz2} 2>/dev/null|perl -ne 'print "Source$n: ".$_; $n++;' Source: Mesa-CVS-20060502.tar.bz2 -Source1: compiz-0.0.10.tar.bz2 +Source1: compiz-0.0.11.tar.bz2 Source2: gnome-xgl-settings-0.5.tar.gz ### /bin/ls *.{diff,patch} | perl -ne 'print "Patch$n: ".$_; $n++;' Patch: Mesa-6.4.1-x86_64-fixes-1.patch @@ -51,8 +51,8 @@ %setup -q -n . -D -T -b 0 -b 1 -b 2 patch -d Mesa -p0 < $RPM_SOURCE_DIR/Mesa-6.4.1-x86_64-fixes-1.patch patch -d Mesa -p0 < $RPM_SOURCE_DIR/Mesa-configs.diff -patch -d compiz-0.0.10 -p0 < $RPM_SOURCE_DIR/compiz-audible-bell-off.patch -patch -d compiz-0.0.10 -p0 < $RPM_SOURCE_DIR/compiz-wobbly-off.patch +patch -d compiz-0.0.11 -p0 < $RPM_SOURCE_DIR/compiz-audible-bell-off.patch +patch -d compiz-0.0.11 -p0 < $RPM_SOURCE_DIR/compiz-wobbly-off.patch %build PREFIX=/usr @@ -138,6 +138,9 @@ /etc/opt/gnome/gconf/schemas/compiz.schemas %changelog -n compiz +* Sun May 21 2006 - dreveman@suse.de +- Fix stacking and sync request issues. (bnc #173416) +- Fix shadow performance in g-w-d. * Fri May 19 2006 - danw@suse.de - Patch compiz.schemas to turn off wobbly windows (bnc 176429) - Update gnome-xgl-settings tarball, supporting new xgl-hardware-list ++++++ compiz-0.0.10.tar.bz2 -> compiz-0.0.11.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/ChangeLog new/compiz-0.0.11/ChangeLog --- old/compiz-0.0.10/ChangeLog 2006-05-19 16:07:48.000000000 +0200 +++ new/compiz-0.0.11/ChangeLog 2006-05-21 15:18:52.000000000 +0200 @@ -1,3 +1,28 @@ +2006-05-21 David Reveman <davidr@novell.com> + + * configure.ac: Bump version to 0.0.11. + + * gnome/window-decorator/gnome-window-decorator.c: Fix shadow + performance by separating the convolution filter into one vertical and + one horizontal pass. + + * src/window.c (mapWindow): Give sync request on map another try, it + seems to be working now. + + * src/window.c (addWindow): Allow XGetWindowAttributes to fail. + (bnc 173416). + + * src/window.c (addWindow): Initialize managed to false. Set managed + to true if widows is viewable. + + * src/event.c (handleEvent): Set managed to false when window + transitions to withdrawn state. + (handleEvent): Set managed to true when we get MapRequest. + (handleEvent): Constrain configure request if window is managed. + + * include/compiz.h: Add "managed" variable that is true while + windows is managed. + 2006-05-19 David Reveman <davidr@novell.com> * plugins/switcher.c (ICON_SIZE): Allow use of larger window icons. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/Makefile.in new/compiz-0.0.11/Makefile.in --- old/compiz-0.0.10/Makefile.in 2006-05-07 19:57:05.000000000 +0200 +++ new/compiz-0.0.11/Makefile.in 2006-05-21 15:19:13.000000000 +0200 @@ -84,6 +84,7 @@ distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/aclocal.m4 new/compiz-0.0.11/aclocal.m4 --- old/compiz-0.0.10/aclocal.m4 2006-05-07 19:56:54.000000000 +0200 +++ new/compiz-0.0.11/aclocal.m4 2006-05-21 15:19:08.000000000 +0200 @@ -452,7 +452,7 @@ dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) -# serial 2 IT_PROG_INTLTOOL +# serial 35 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [AC_PREREQ([2.50])dnl @@ -467,9 +467,9 @@ if test -n "$1"; then AC_MSG_CHECKING(for intltool >= $1) - INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 100 + $ 2; }'` + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { print $ 2; }' ${ac_aux_dir}/intltool-update.in` - [INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 100 + VERSION[2];}' ${ac_aux_dir}/intltool-update.in` + [INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 1000 + VERSION[2] * 100 + VERSION[3];}' ${ac_aux_dir}/intltool-update.in` ] AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || @@ -540,6 +540,9 @@ AC_PATH_PROG(INTLTOOL_MSGMERGE, msgmerge, msgmerge) AC_PATH_PROG(INTLTOOL_XGETTEXT, xgettext, xgettext) +# Substitute ALL_LINGUAS so we can use it in po/Makefile +AC_SUBST(ALL_LINGUAS) + IT_PO_SUBDIR([po]) dnl The following is very similar to diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/configure new/compiz-0.0.11/configure --- old/compiz-0.0.10/configure 2006-05-07 19:57:06.000000000 +0200 +++ new/compiz-0.0.11/configure 2006-05-21 15:19:14.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for compiz 0.0.10. +# Generated by GNU Autoconf 2.59 for compiz 0.0.11. # # Report bugs to <davidr@novell.com>. # @@ -423,8 +423,8 @@ # Identity of this package. PACKAGE_NAME='compiz' PACKAGE_TARNAME='compiz' -PACKAGE_VERSION='0.0.10' -PACKAGE_STRING='compiz 0.0.10' +PACKAGE_VERSION='0.0.11' +PACKAGE_STRING='compiz 0.0.11' PACKAGE_BUGREPORT='davidr@novell.com' # Factoring default headers for most tests. @@ -464,7 +464,7 @@ # include <unistd.h> #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXX CPP F77 FFLAGS ac_ct_F77 LIBTOOL USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_SERVICE_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL INTLTOOL_ICONV INTLTOOL_MSGFMT INTLTOOL_MSGMERGE INTLTOOL_XGETTEXT GETTEXT_PACKAGE plugindir imagedir PKG_CONFIG ac_pt_PKG_CONFIG COMPIZ_CFLAGS COMPIZ_LIBS COMPIZ_REQUIRES GL_CFLAGS GL_LIBS GCONF_CFLAGS GCONF_LIBS GCONFTOOL GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE GCONF_PLUGIN_TRUE GCONF_PLUGIN_FALSE GCO NF_DUMP_PLUGIN_TRUE GCONF_DUMP_PLUGIN_FALSE PLACE_CFLAGS PLACE_LIBS PLACE_PLUGIN_TRUE PLACE_PLUGIN_FALSE LIBSVG_CAIRO_CFLAGS LIBSVG_CAIRO_LIBS USE_LIBSVG_CAIRO_TRUE USE_LIBSVG_CAIRO_FALSE SCALE_CORNER GNOME_WINDOW_DECORATOR_CFLAGS GNOME_WINDOW_DECORATOR_LIBS GNOME_WINDOW_SETTINGS_CFLAGS GNOME_WINDOW_SETTINGS_LIBS windowsettingsdatadir windowsettingslibdir USE_GNOME_TRUE USE_GNOME_FALSE KDE_WINDOW_DECORATOR_CFLAGS KDE_WINDOW_DECORATOR_LIBS USE_KDE_TRUE USE_KDE_FALSE QT_MOC LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXX CPP F77 FFLAGS ac_ct_F77 LIBTOOL USE_NLS MSGFMT GMSGFMT XGETTEXT CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLLIBS PO_IN_DATADIR_TRUE PO_IN_DATADIR_FALSE POFILES POSUB MKINSTALLDIRS INTLTOOL_DESKTOP_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_KEYS_RULE INTLTOOL_PROP_RULE INTLTOOL_OAF_RULE INTLTOOL_PONG_RULE INTLTOOL_SERVER_RULE INTLTOOL_SHEET_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_UI_RULE INTLTOOL_XAM_RULE INTLTOOL_KBD_RULE INTLTOOL_XML_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_CAVES_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_THEME_RULE INTLTOOL_SERVICE_RULE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE INTLTOOL_PERL INTLTOOL_ICONV INTLTOOL_MSGFMT INTLTOOL_MSGMERGE INTLTOOL_XGETTEXT ALL_LINGUAS GETTEXT_PACKAGE plugindir imagedir PKG_CONFIG ac_pt_PKG_CONFIG COMPIZ_CFLAGS COMPIZ_LIBS COMPIZ_REQUIRES GL_CFLAGS GL_LIBS GCONF_CFLAGS GCONF_LIBS GCONFTOOL GCONF_SCHEMA_CONFIG_SOURCE GCONF_SCHEMA_FILE_DIR GCONF_SCHEMAS_INSTALL_TRUE GCONF_SCHEMAS_INSTALL_FALSE GCONF_PLUGIN_TRUE GCONF_PLUG IN_FALSE GCONF_DUMP_PLUGIN_TRUE GCONF_DUMP_PLUGIN_FALSE PLACE_CFLAGS PLACE_LIBS PLACE_PLUGIN_TRUE PLACE_PLUGIN_FALSE LIBSVG_CAIRO_CFLAGS LIBSVG_CAIRO_LIBS USE_LIBSVG_CAIRO_TRUE USE_LIBSVG_CAIRO_FALSE SCALE_CORNER GNOME_WINDOW_DECORATOR_CFLAGS GNOME_WINDOW_DECORATOR_LIBS GNOME_WINDOW_SETTINGS_CFLAGS GNOME_WINDOW_SETTINGS_LIBS windowsettingsdatadir windowsettingslibdir USE_GNOME_TRUE USE_GNOME_FALSE KDE_WINDOW_DECORATOR_CFLAGS KDE_WINDOW_DECORATOR_LIBS USE_KDE_TRUE USE_KDE_FALSE QT_MOC LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1013,7 +1013,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures compiz 0.0.10 to adapt to many kinds of systems. +\`configure' configures compiz 0.0.11 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1079,7 +1079,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of compiz 0.0.10:";; + short | recursive ) echo "Configuration of compiz 0.0.11:";; esac cat <<\_ACEOF @@ -1260,7 +1260,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -compiz configure 0.0.10 +compiz configure 0.0.11 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1274,7 +1274,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by compiz $as_me 0.0.10, which was +It was created by compiz $as_me 0.0.11, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1919,7 +1919,7 @@ # Define the identity of the package. PACKAGE='compiz' - VERSION='0.0.10' + VERSION='0.0.11' cat >>confdefs.h <<_ACEOF @@ -21715,9 +21715,9 @@ echo "$as_me:$LINENO: checking for intltool >= " >&5 echo $ECHO_N "checking for intltool >= ... $ECHO_C" >&6 - INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 100 + $ 2; }'` + INTLTOOL_REQUIRED_VERSION_AS_INT=`echo | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`awk -F\" '/\\$VERSION / { print $ 2; }' ${ac_aux_dir}/intltool-update.in` - INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 100 + VERSION[2];}' ${ac_aux_dir}/intltool-update.in` + INTLTOOL_APPLIED_VERSION_AS_INT=`awk -F\" '/\\$VERSION / { split($ 2, VERSION, "."); print VERSION[1] * 1000 + VERSION[2] * 100 + VERSION[3];}' ${ac_aux_dir}/intltool-update.in` echo "$as_me:$LINENO: result: $INTLTOOL_APPLIED_VERSION found" >&5 echo "${ECHO_T}$INTLTOOL_APPLIED_VERSION found" >&6 @@ -21996,6 +21996,9 @@ fi +# Substitute ALL_LINGUAS so we can use it in po/Makefile + + @@ -23797,7 +23800,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by compiz $as_me 0.0.10, which was +This file was extended by compiz $as_me 0.0.11, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23860,7 +23863,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -compiz config.status 0.0.10 +compiz config.status 0.0.11 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" @@ -24188,6 +24191,7 @@ s,@INTLTOOL_MSGFMT@,$INTLTOOL_MSGFMT,;t t s,@INTLTOOL_MSGMERGE@,$INTLTOOL_MSGMERGE,;t t s,@INTLTOOL_XGETTEXT@,$INTLTOOL_XGETTEXT,;t t +s,@ALL_LINGUAS@,$ALL_LINGUAS,;t t s,@GETTEXT_PACKAGE@,$GETTEXT_PACKAGE,;t t s,@plugindir@,$plugindir,;t t s,@imagedir@,$imagedir,;t t diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/configure.ac new/compiz-0.0.11/configure.ac --- old/compiz-0.0.10/configure.ac 2006-05-07 19:48:42.000000000 +0200 +++ new/compiz-0.0.11/configure.ac 2006-05-21 15:18:30.000000000 +0200 @@ -1,6 +1,6 @@ AC_PREREQ(2.57) -AC_INIT([compiz], [0.0.10], [davidr@novell.com]) +AC_INIT([compiz], [0.0.11], [davidr@novell.com]) AC_CONFIG_AUX_DIR(config) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/gnome/Makefile.in new/compiz-0.0.11/gnome/Makefile.in --- old/compiz-0.0.10/gnome/Makefile.in 2006-05-07 19:57:03.000000000 +0200 +++ new/compiz-0.0.11/gnome/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -89,6 +89,7 @@ DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/gnome/window-decorator/Makefile.in new/compiz-0.0.11/gnome/window-decorator/Makefile.in --- old/compiz-0.0.10/gnome/window-decorator/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/gnome/window-decorator/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -72,6 +72,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/gnome/window-decorator/gnome-window-decorator.c new/compiz-0.0.11/gnome/window-decorator/gnome-window-decorator.c --- old/compiz-0.0.10/gnome/window-decorator/gnome-window-decorator.c 2006-05-17 12:25:17.000000000 +0200 +++ new/compiz-0.0.11/gnome/window-decorator/gnome-window-decorator.c 2006-05-20 07:20:17.000000000 +0200 @@ -4313,17 +4313,33 @@ #define XRenderSetPictureFilter XRenderSetPictureFilter_wrapper #endif +static void +set_picture_transform (Display *xdisplay, + Picture p, + int dx, + int dy) +{ + XTransform transform = { + { + { 1 << 16, 0, -dx << 16 }, + { 0, 1 << 16, -dy << 16 }, + { 0, 0, 1 << 16 }, + } + }; + + XRenderSetPictureTransform (xdisplay, p, &transform); +} + static XFixed * create_gaussian_kernel (double radius, double sigma, double alpha, double opacity, - int *r_size, - int *n_params) + int *r_size) { XFixed *params; - double *amp, scale, xy_scale, sum; - int size, half_size, x, y, i, n; + double *amp, scale, x_scale, fx, sum; + int size, half_size, x, i, n; scale = 1.0f / (2.0f * M_PI * sigma * sigma); half_size = alpha + 0.5f; @@ -4332,12 +4348,12 @@ half_size = 1; size = half_size * 2 + 1; - xy_scale = 2.0f * radius / size; + x_scale = 2.0f * radius / size; if (size < 3) return NULL; - n = size * size; + n = size; amp = g_malloc (sizeof (double) * n); if (!amp) @@ -4352,38 +4368,29 @@ i = 0; sum = 0.0f; - for (y = 0; y < size; y++) + for (x = 0; x < size; x++) { - double fx, fy; - - fy = xy_scale * (y - half_size); - - for (x = 0; x < size; x++) - { - fx = xy_scale * (x - half_size); + fx = x_scale * (x - half_size); - amp[i] = scale * exp ((-1.0f * (fx * fx + fy * fy)) / - (2.0f * sigma * sigma)); + amp[i] = scale * exp ((-1.0f * (fx * fx)) / (2.0f * sigma * sigma)); - sum += amp[i]; + sum += amp[i]; - i++; - } + i++; } /* normalize */ if (sum != 0.0) sum = 1.0 / sum; - params[0] = params[1] = size << 16; + params[0] = params[1] = 0; for (i = 2; i < n; i++) - params[i] = XDoubleToFixed (amp[i - 2] * sum * opacity); + params[i] = XDoubleToFixed (amp[i - 2] * sum * opacity * 1.2); g_free (amp); - *n_params = n; - *r_size = size; + *r_size = size; return params; } @@ -4400,7 +4407,7 @@ Display *xdisplay = gdk_display; XRenderPictFormat *format; GdkPixmap *pixmap; - Picture src, mask, dst; + Picture src, dst, tmp; XFixed *params; XFilters *filters; char *filter = NULL; @@ -4411,27 +4418,21 @@ static XRenderColor color = { 0x0000, 0x0000, 0x0000, 0xffff }; static XRenderColor clear = { 0x0000, 0x0000, 0x0000, 0x0000 }; static XRenderColor white = { 0xffff, 0xffff, 0xffff, 0xffff }; - XTransform transform = { - { - { 1 << 16, 0, -shadow_offset_x << 16 }, - { 0, 1 << 16, -shadow_offset_y << 16 }, - { 0, 0, 1 << 16 }, - } - }; /* compute a gaussian convolution kernel */ params = create_gaussian_kernel (shadow_radius, SIGMA (shadow_radius), ALPHA (shadow_radius), shadow_opacity, - &size, &n_params); + &size); if (!params) shadow_offset_x = shadow_offset_y = size = 0; if (shadow_radius <= 0.0 && shadow_offset_x == 0 && shadow_offset_y == 0) size = 0; - size = size >> 1; + n_params = size + 2; + size = size / 2; left_space = _win_extents.left + size - shadow_offset_x; right_space = _win_extents.right + size + shadow_offset_x; @@ -4485,7 +4486,6 @@ /* shadow color */ src = XRenderCreateSolidFill (xdisplay, &color); - if (large_shadow_pixmap) { gdk_pixmap_unref (large_shadow_pixmap); @@ -4513,7 +4513,6 @@ return 1; } - /* create shadow pixmap */ pixmap = create_pixmap (d.width, d.height); if (!pixmap) { @@ -4550,7 +4549,6 @@ /* WINDOWS WITH DECORATION */ - /* create temporary decoration pixmap */ d.pixmap = create_pixmap (d.width, d.height); if (!d.pixmap) { @@ -4568,36 +4566,49 @@ decoration_alpha = save_decoration_alpha; - mask = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (d.pixmap), format, - 0, NULL); + dst = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (d.pixmap), + format, 0, NULL); + tmp = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (pixmap), + format, 0, NULL); - /* set gaussion convolution filter on decoration pixmap */ - XRenderSetPictureFilter (xdisplay, mask, filter, params, n_params); + /* first pass */ + params[0] = (n_params - 2) << 16; + params[1] = 1 << 16; - /* for shadow offset */ - XRenderSetPictureTransform (xdisplay, mask, &transform); + set_picture_transform (xdisplay, dst, shadow_offset_x, 0); + XRenderSetPictureFilter (xdisplay, dst, filter, params, n_params); + XRenderComposite (xdisplay, + PictOpSrc, + src, + dst, + tmp, + 0, 0, + 0, 0, + 0, 0, + d.width, d.height); - dst = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (pixmap), - format, 0, NULL); + /* second pass */ + params[0] = 1 << 16; + params[1] = (n_params - 2) << 16; - /* create shadow by compositing a solid color to the shadow pixmap with a - gaussian convolution filtered decoration as mask. */ + set_picture_transform (xdisplay, tmp, 0, shadow_offset_y); + XRenderSetPictureFilter (xdisplay, tmp, filter, params, n_params); XRenderComposite (xdisplay, PictOpSrc, src, - mask, + tmp, dst, 0, 0, 0, 0, 0, 0, d.width, d.height); - XRenderFreePicture (xdisplay, mask); + XRenderFreePicture (xdisplay, tmp); XRenderFreePicture (xdisplay, dst); - gdk_pixmap_unref (d.pixmap); + gdk_pixmap_unref (pixmap); - large_shadow_pixmap = pixmap; + large_shadow_pixmap = d.pixmap; cr = gdk_cairo_create (GDK_DRAWABLE (large_shadow_pixmap)); shadow_pattern = cairo_pattern_create_for_surface (cairo_get_target (cr)); @@ -4612,68 +4623,80 @@ d.height = shadow_top_space + shadow_top_corner_space + 1 + shadow_bottom_space + shadow_bottom_corner_space; - /* create temporary decoration pixmap */ + pixmap = create_pixmap (d.width, d.height); + if (!pixmap) + { + g_free (params); + return 0; + } + d.pixmap = create_pixmap (d.width, d.height); if (!d.pixmap) { + gdk_pixmap_unref (pixmap); g_free (params); return 0; } - mask = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (d.pixmap), format, - 0, NULL); + dst = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (d.pixmap), + format, 0, NULL); /* draw rectangle */ - XRenderFillRectangle (xdisplay, PictOpSrc, mask, &clear, + XRenderFillRectangle (xdisplay, PictOpSrc, dst, &clear, 0, 0, d.width, d.height); - XRenderFillRectangle (xdisplay, PictOpSrc, mask, &white, + XRenderFillRectangle (xdisplay, PictOpSrc, dst, &white, shadow_left_space, shadow_top_space, d.width - shadow_left_space - shadow_right_space, d.height - shadow_top_space - shadow_bottom_space); - /* set gaussion convolution filter on decoration pixmap */ - XRenderSetPictureFilter (xdisplay, mask, filter, params, n_params); + tmp = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (pixmap), + format, 0, NULL); - /* for shadow offset */ - XRenderSetPictureTransform (xdisplay, mask, &transform); + /* first pass */ + params[0] = (n_params - 2) << 16; + params[1] = 1 << 16; - /* create shadow pixmap */ - pixmap = create_pixmap (d.width, d.height); - if (!pixmap) - { - gdk_pixmap_unref (d.pixmap); - g_free (params); - return 0; - } + set_picture_transform (xdisplay, dst, shadow_offset_x, 0); + XRenderSetPictureFilter (xdisplay, dst, filter, params, n_params); + XRenderComposite (xdisplay, + PictOpSrc, + src, + dst, + tmp, + 0, 0, + 0, 0, + 0, 0, + d.width, d.height); - dst = XRenderCreatePicture (xdisplay, GDK_PIXMAP_XID (pixmap), - format, 0, NULL); + /* second pass */ + params[0] = 1 << 16; + params[1] = (n_params - 2) << 16; - /* create shadow by compositing a solid color to the shadow pixmap with a - gaussian convolution filtered decoration as mask. */ + set_picture_transform (xdisplay, tmp, 0, shadow_offset_y); + XRenderSetPictureFilter (xdisplay, tmp, filter, params, n_params); XRenderComposite (xdisplay, PictOpSrc, src, - mask, + tmp, dst, 0, 0, 0, 0, 0, 0, d.width, d.height); - XRenderFreePicture (xdisplay, mask); + XRenderFreePicture (xdisplay, tmp); XRenderFreePicture (xdisplay, dst); XRenderFreePicture (xdisplay, src); - gdk_pixmap_unref (d.pixmap); + gdk_pixmap_unref (pixmap); g_free (params); - shadow_pixmap = pixmap; + shadow_pixmap = d.pixmap; return 1; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/images/Makefile.in new/compiz-0.0.11/images/Makefile.in --- old/compiz-0.0.10/images/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/images/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -58,6 +58,7 @@ DATA = $(images_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/include/Makefile.in new/compiz-0.0.11/include/Makefile.in --- old/compiz-0.0.10/include/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/include/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -61,6 +61,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/include/compiz.h new/compiz-0.0.11/include/compiz.h --- old/compiz-0.0.10/include/compiz.h 2006-05-07 03:21:55.000000000 +0200 +++ new/compiz-0.0.11/include/compiz.h 2006-05-20 12:51:42.000000000 +0200 @@ -1522,6 +1522,7 @@ Bool destroyed; Bool damaged; Bool redirected; + Bool managed; int destroyRefCnt; int unmapRefCnt; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/kde/Makefile.in new/compiz-0.0.11/kde/Makefile.in --- old/compiz-0.0.10/kde/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/kde/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -57,6 +57,7 @@ DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/kde/window-decorator/Makefile.in new/compiz-0.0.11/kde/window-decorator/Makefile.in --- old/compiz-0.0.10/kde/window-decorator/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/kde/window-decorator/Makefile.in 2006-05-21 15:19:12.000000000 +0200 @@ -75,6 +75,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/plugins/Makefile.in new/compiz-0.0.11/plugins/Makefile.in --- old/compiz-0.0.10/plugins/Makefile.in 2006-05-07 19:57:04.000000000 +0200 +++ new/compiz-0.0.11/plugins/Makefile.in 2006-05-21 15:19:13.000000000 +0200 @@ -146,6 +146,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/src/Makefile.in new/compiz-0.0.11/src/Makefile.in --- old/compiz-0.0.10/src/Makefile.in 2006-05-07 19:57:05.000000000 +0200 +++ new/compiz-0.0.11/src/Makefile.in 2006-05-21 15:19:13.000000000 +0200 @@ -73,6 +73,7 @@ CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ +ALL_LINGUAS = @ALL_LINGUAS@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/src/event.c new/compiz-0.0.11/src/event.c --- old/compiz-0.0.10/src/event.c 2006-05-14 13:15:45.000000000 +0200 +++ new/compiz-0.0.11/src/event.c 2006-05-21 14:23:56.000000000 +0200 @@ -347,7 +347,8 @@ if (!w->attrib.override_redirect) setWmState (d, WithdrawnState, w->id); - w->placed = FALSE; + w->placed = FALSE; + w->managed = FALSE; } unmapWindow (w); @@ -494,7 +495,7 @@ } } -#define EV_BUTTON_COMMAND(num) \ +#define EV_BUTTON_COMMAND(num) \ if (eventMatches (d, event, \ &d->opt[COMP_DISPLAY_OPTION_RUN_COMMAND ## num])) \ { \ @@ -1168,10 +1169,10 @@ leaveShowDesktopMode (w->screen, w); + w->managed = TRUE; + if (!(w->state & CompWindowStateHiddenMask)) { - w->mapNum = w->screen->mapNum++; - XMapWindow (d->display, event->xmaprequest.window); updateWindowAttributes (w, FALSE); @@ -1187,7 +1188,7 @@ break; case ConfigureRequest: w = findWindowAtDisplay (d, event->xconfigurerequest.window); - if (w && w->mapNum) + if (w && w->managed) { XWindowChanges xwc; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/compiz-0.0.10/src/window.c new/compiz-0.0.11/src/window.c --- old/compiz-0.0.10/src/window.c 2006-05-17 08:26:53.000000000 +0200 +++ new/compiz-0.0.11/src/window.c 2006-05-21 14:43:05.000000000 +0200 @@ -1294,6 +1294,34 @@ return FALSE; } +static void +setDefaultWindowAttributes (XWindowAttributes *wa) +{ + wa->x = 0; + wa->y = 0; + wa->width = 1; + wa->height = 1; + wa->border_width = 0; + wa->depth = 0; + wa->visual = NULL; + wa->root = None; + wa->class = InputOnly; + wa->bit_gravity = NorthWestGravity; + wa->win_gravity = NorthWestGravity; + wa->backing_store = NotUseful; + wa->backing_planes = 0; + wa->backing_pixel = 0; + wa->save_under = FALSE; + wa->colormap = None; + wa->map_installed = FALSE; + wa->map_state = IsUnviewable; + wa->all_event_masks = 0; + wa->your_event_mask = 0; + wa->do_not_propagate_mask = 0; + wa->override_redirect = TRUE; + wa->screen = NULL; +} + void addWindow (CompScreen *screen, Window id, @@ -1331,6 +1359,7 @@ w->destroyed = FALSE; w->damaged = FALSE; w->redirected = TRUE; + w->managed = FALSE; w->destroyRefCnt = 1; w->unmapRefCnt = 1; @@ -1409,11 +1438,12 @@ return; } + /* Failure means that window has been destroyed. We still have to add the + window to the window list as we might get configure requests which + require us to stack other windows relative to it. Setting some default + values if this is the case. */ if (!XGetWindowAttributes (screen->display->display, id, &w->attrib)) - { - freeWindow (w); - return; - } + setDefaultWindowAttributes (&w->attrib); w->width = w->attrib.width + w->attrib.border_width * 2; w->height = w->attrib.height + w->attrib.border_width * 2; @@ -1550,6 +1580,9 @@ { w->attrib.map_state = IsUnmapped; + if (!w->attrib.override_redirect) + w->managed = TRUE; + mapWindow (w); updateWindowAttributes (w, FALSE); @@ -1702,7 +1735,6 @@ if (w->type & CompWindowTypeDesktopMask) w->screen->desktopWindowCount++; -#if 0 /* causing some windows to not redraw correctly */ if (!w->attrib.override_redirect) { if (w->protocols & CompWindowProtocolSyncRequestMask) @@ -1711,8 +1743,6 @@ sendConfigureNotify (w); } } -#endif - } void ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de