Hello community, here is the log from the commit of package compiz-emerald for openSUSE:Factory checked in at 2017-05-16 14:43:28 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/compiz-emerald (Old) and /work/SRC/openSUSE:Factory/.compiz-emerald.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "compiz-emerald" Tue May 16 14:43:28 2017 rev:6 rq:494481 version:0.8.14 Changes: -------- --- /work/SRC/openSUSE:Factory/compiz-emerald/compiz-emerald.changes 2016-04-07 13:32:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.compiz-emerald.new/compiz-emerald.changes 2017-05-16 14:44:40.135229002 +0200 @@ -1,0 +2,18 @@ +Wed May 9 20:30:23 UTC 2017 - [email protected] + +- Add emerald-0.8.14-fix-app-switchers.patch: Fix issues with + application switchers (commit 27d4e0d). + +------------------------------------------------------------------- +Tue Apr 18 11:10:04 UTC 2017 - [email protected] + +- Update to version 0.8.14: + * Fix wrong border extents. + * Fix oversized buttons. + * Fix crash when special characters are displayed in titlebar. + * Fix various GTK+ problems. + * Respect GTK+ double-click speed. + * Allow configurable middle-click titlebar actions. + * Update translations. + +------------------------------------------------------------------- Old: ---- emerald-0.8.12.4.tar.xz New: ---- emerald-0.8.14-fix-app-switchers.patch emerald-0.8.14.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ compiz-emerald.spec ++++++ --- /var/tmp/diff_new_pack.vS1fo2/_old 2017-05-16 14:44:40.851128411 +0200 +++ /var/tmp/diff_new_pack.vS1fo2/_new 2017-05-16 14:44:40.855127850 +0200 @@ -1,7 +1,7 @@ # # spec file for package compiz-emerald # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,13 +18,15 @@ %define _name emerald Name: compiz-emerald -Version: 0.8.12.4 +Version: 0.8.14 Release: 0 Summary: Themeable window decorator for Compiz License: GPL-2.0+ Group: System/GUI/Other Url: https://github.com/compiz-reloaded/emerald Source: https://github.com/compiz-reloaded/%{_name}/releases/download/v%{version}/%{_name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM emerald-0.8.14-fix-app-switchers.patch [email protected] -- Fix issues with application switchers (commit 27d4e0d). +Patch0: emerald-0.8.14-fix-app-switchers.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes @@ -32,6 +34,7 @@ BuildRequires: hicolor-icon-theme BuildRequires: intltool BuildRequires: libtool +BuildRequires: pkgconfig BuildRequires: update-desktop-files BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libdecoration) < 0.9 @@ -77,13 +80,15 @@ %prep %setup -q -n %{_name}-%{version} +%patch0 -p1 %build NOCONFIGURE=1 ./autogen.sh %configure \ + --with-gtk=3.0 \ --disable-static \ --disable-mime-update -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install %make_install ++++++ emerald-0.8.14-fix-app-switchers.patch ++++++ --- a/src/main.c +++ b/src/main.c @@ -3495,6 +3495,7 @@ static gboolean update_switcher_window(WnckWindow * win, Window selected) { decor_t *d = g_object_get_data(G_OBJECT(win), "decor"); cairo_surface_t *surface = NULL, *buffer_surface = NULL; + cairo_surface_t *isurface = NULL, *ibuffer_surface = NULL; gint height, width = 0; WnckWindow *selected_win; window_settings *ws = d->fs->ws; @@ -3579,14 +3580,44 @@ static gboolean update_switcher_window(WnckWindow * win, Window selected) return FALSE; } - if (IS_VALID_SURFACE(d->surface)) - cairo_surface_destroy(d->surface); + isurface = create_xlib_surface(width, height); + if (!IS_VALID_SURFACE(isurface)) + { + cairo_surface_destroy(surface); + cairo_surface_destroy(buffer_surface); + return FALSE; + } - if (IS_VALID_SURFACE(d->buffer_surface)) - cairo_surface_destroy(d->buffer_surface); + ibuffer_surface = create_surface(width, height); + if (!IS_VALID_SURFACE(ibuffer_surface)) + { + cairo_surface_destroy(isurface); + cairo_surface_destroy(surface); + cairo_surface_destroy(buffer_surface); + return FALSE; + } + + /* wait until old surfaces are not used for sure, + one second should be enough */ + if (IS_VALID_SURFACE(d->p_active_surface)) + g_timeout_add_seconds(1, destroy_surface_idled, d->p_active_surface); + if (IS_VALID_SURFACE(d->p_inactive_surface)) + g_timeout_add_seconds(1, destroy_surface_idled, d->p_inactive_surface); + + if (IS_VALID_SURFACE(d->p_active_buffer_surface)) + cairo_surface_destroy(d->p_active_buffer_surface); + + if (IS_VALID_SURFACE(d->p_inactive_buffer_surface)) + cairo_surface_destroy(d->p_inactive_buffer_surface); + + d->only_change_active = FALSE; - d->surface = surface; - d->buffer_surface = buffer_surface; + d->surface = d->active ? surface : isurface; + d->buffer_surface = d->active ? buffer_surface : ibuffer_surface; + d->p_active_surface = surface; + d->p_active_buffer_surface = buffer_surface; + d->p_inactive_surface = isurface; + d->p_inactive_buffer_surface = ibuffer_surface; d->width = width; d->height = height; ++++++ emerald-0.8.12.4.tar.xz -> emerald-0.8.14.tar.xz ++++++ ++++ 69591 lines of diff (skipped)
