commit mate-screensaver for openSUSE:Factory
![](https://seccdn.libravatar.org/avatar/000404b9c3cf99a2a21283776f57d3b5.jpg?s=120&d=mm&r=g)
Hello community, here is the log from the commit of package mate-screensaver for openSUSE:Factory checked in at 2017-02-06 15:23:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mate-screensaver (Old) and /work/SRC/openSUSE:Factory/.mate-screensaver.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "mate-screensaver" Changes: -------- --- /work/SRC/openSUSE:Factory/mate-screensaver/mate-screensaver.changes 2016-09-25 14:43:35.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.mate-screensaver.new/mate-screensaver.changes 2017-02-06 15:23:33.012255623 +0100 @@ -1,0 +2,12 @@ +Sun Feb 5 21:04:12 UTC 2017 - sor.alexei@meowr.ru + +- Update to version 1.16.1: + * Fix build breakage with GTK+ 3.14. + * Fix "Blank screen" theme with GTK+ 3.22. + * GTK+2: Fix switching to "Blank screen" theme in the full screen + preview. + * Properly restore the password dialogue position after a wrong + password attempt. + * Check for a gdm-binary process when switching the user. + +------------------------------------------------------------------- Old: ---- mate-screensaver-1.16.0.tar.xz New: ---- mate-screensaver-1.16.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mate-screensaver.spec ++++++ --- /var/tmp/diff_new_pack.1BxrRi/_old 2017-02-06 15:23:33.760148724 +0100 +++ /var/tmp/diff_new_pack.1BxrRi/_new 2017-02-06 15:23:33.764148153 +0100 @@ -1,7 +1,7 @@ # # spec file for package mate-screensaver # -# 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,12 +18,12 @@ %define _version 1.16 Name: mate-screensaver -Version: 1.16.0 +Version: 1.16.1 Release: 0 Summary: MATE Desktop screensaver License: GPL-2.0+ and LGPL-2.0+ Group: System/GUI/Other -Url: http://mate-desktop.org/ +Url: https://mate-desktop.org/ Source: http://pub.mate-desktop.org/releases/%{_version}/%{name}-%{version}.tar.xz # PATCH-FIX-OPENSUSE mate-screensaver-1.7.1-vendor_pam_integration.patch nmarques@mate-desktop.org -- PAM integration with SUSE. Patch0: %{name}-1.7.1-vendor_pam_integration.patch @@ -86,7 +86,7 @@ --with-systemd \ --without-console-kit \ --disable-docbook-docs -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install %make_install ++++++ mate-screensaver-1.16.0.tar.xz -> mate-screensaver-1.16.1.tar.xz ++++++ ++++ 1725 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/ChangeLog new/mate-screensaver-1.16.1/ChangeLog --- old/mate-screensaver-1.16.0/ChangeLog 2016-09-19 06:47:28.000000000 +0200 +++ new/mate-screensaver-1.16.1/ChangeLog 2017-01-20 14:45:20.000000000 +0100 @@ -1,3 +1,81 @@ +commit e5df5a2f466280ddb06011c6f7d3f7a8975646c2 +Author: monsta <monsta@inbox.ru> +Date: Fri Jan 20 16:20:50 2017 +0300 + + release 1.16.1 + + NEWS | 10 ++++++++++ + configure.ac | 2 +- + 2 files changed, 11 insertions(+), 1 deletion(-) + +commit 60f934bdaec537854f8ae66278d74231383a961c +Author: George Vlahavas <vlahavas@gmail.com> +Date: Wed Oct 19 23:42:13 2016 +0300 + + Also look for gdm-binary process + + In some systems the gdm binary is actually called "gdm-binary", so we + need to check for that too. + + src/gs-lock-plug.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +commit 49a7e7401d4493e69754eb4ffca238004c6fee1f +Author: Hao Lee <haolee.swjtu@gmail.com> +Date: Tue Jan 17 17:28:49 2017 +0800 + + Change shake times to even number, so the dialog can return to its original position. + + src/gs-window-x11.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +commit cab590091459dc40d845a3a20aaec9430b3bd796 +Merge: 15d98b9 ffe95c9 +Author: Martin Wimpress <code@flexion.org> +Date: Wed Jan 18 14:40:38 2017 +0000 + + Merge pull request #111 from XRevan86/1.16 + + 1.16: Avoid deprecated gdk_window_set_background functions + +commit ffe95c98b04723dacc3a52832c270a63e2364a83 +Author: Alexei Sorokin <sor.alexei@meowr.ru> +Date: Mon Jan 16 15:04:59 2017 +0300 + + Gtk2: fix switching to blank in preferences in fullscreen + + src/mate-screensaver-preferences.c | 20 ++++++++++++++++++++ + 1 file changed, 20 insertions(+) + +commit 78e6e31dbde35a3f3dd4e95f2d8af90de2c17b1f +Author: Alexei Sorokin <sor.alexei@meowr.ru> +Date: Sun Jan 15 18:24:34 2017 +0300 + + avoid deprecated gdk_window_set_background functions + + Which are completely broken in GTK+ 3.22. + Also remove some redundant separate Gtk2 code. + + data/mate-screensaver-preferences.ui | 2 + + savers/floaters.c | 5 +- + savers/gs-theme-engine.c | 66 +++------ + src/gs-manager.c | 22 +-- + src/gs-window-x11.c | 277 +++++++++++------------------------ + src/gs-window.h | 7 +- + src/mate-screensaver-preferences.c | 70 ++++++--- + 7 files changed, 171 insertions(+), 278 deletions(-) + +commit 15d98b9835333ba174687b4ec58eae7bcc7d94e2 +Author: raveit65 <chat-to-me@raveit.de> +Date: Sun Oct 2 07:48:32 2016 +0200 + + GTK+-3 gs-grab-x11: use correct GTK_VERSION_CHECK + + fixes https://github.com/mate-desktop/mate-screensaver/issues/104 + + src/gs-grab-x11.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + commit 9835dcc22ecd878e9dbfdd8239a5c23c196a0cfc Author: raveit65 <chat-to-me@raveit.de> Date: Mon Sep 19 06:44:23 2016 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/NEWS new/mate-screensaver-1.16.1/NEWS --- old/mate-screensaver-1.16.0/NEWS 2016-09-19 06:43:36.000000000 +0200 +++ new/mate-screensaver-1.16.1/NEWS 2017-01-20 14:20:43.000000000 +0100 @@ -1,4 +1,14 @@ =============== +Version 1.16.1 +=============== + +Fix build breakage with GTK+ 3.14 +Fix "Blank screen" theme with GTK+ 3.22 +GTK+2: fix switching to "Blank screen" theme in fullscreen preview +Properly restore password dialog position after wrong password attempt +Check for gdm-binary process when switching user + +=============== Version 1.16.0 =============== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/configure.ac new/mate-screensaver-1.16.1/configure.ac --- old/mate-screensaver-1.16.0/configure.ac 2016-09-19 06:44:07.000000000 +0200 +++ new/mate-screensaver-1.16.1/configure.ac 2017-01-20 13:53:16.000000000 +0100 @@ -2,7 +2,7 @@ AC_PREREQ(2.60) AC_INIT([mate-screensaver], - [1.16.0], + [1.16.1], [http://www.mate-desktop.org/]) AC_CONFIG_SRCDIR(src/mate-screensaver.c) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/data/mate-screensaver-preferences.ui new/mate-screensaver-1.16.1/data/mate-screensaver-preferences.ui --- old/mate-screensaver-1.16.0/data/mate-screensaver-preferences.ui 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/data/mate-screensaver-preferences.ui 2017-01-20 13:46:32.000000000 +0100 @@ -129,6 +129,7 @@ <child> <object class="GtkDrawingArea" id="fullscreen_preview_area"> <property name="visible">True</property> + <property name="app_paintable">True</property> <property name="can_focus">False</property> </object> <packing> @@ -302,6 +303,7 @@ </child> <child> <object class="GtkDrawingArea" id="preview_area"> + <property name="app_paintable">True</property> <property name="can_focus">False</property> </object> <packing> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/doc/mate-screensaver.xml new/mate-screensaver-1.16.1/doc/mate-screensaver.xml --- old/mate-screensaver-1.16.0/doc/mate-screensaver.xml 2016-09-19 06:47:21.000000000 +0200 +++ new/mate-screensaver-1.16.1/doc/mate-screensaver.xml 2017-01-20 14:44:28.000000000 +0100 @@ -3,8 +3,8 @@ <book id="index"> <bookinfo> - <title>MATE Screensaver 1.16.0 Documentation</title> - <releaseinfo>Version 1.16.0</releaseinfo> + <title>MATE Screensaver 1.16.1 Documentation</title> + <releaseinfo>Version 1.16.1</releaseinfo> <date>6 June, 2006</date> <authorgroup> <author> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/m4/libtool.m4 new/mate-screensaver-1.16.1/m4/libtool.m4 --- old/mate-screensaver-1.16.0/m4/libtool.m4 2016-09-19 06:47:07.000000000 +0200 +++ new/mate-screensaver-1.16.1/m4/libtool.m4 2017-01-20 14:43:38.000000000 +0100 @@ -2867,9 +2867,6 @@ # before this can be enabled. hardcode_into_libs=yes - # Add ABI-specific directories to the system library path. - sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" - # Ideally, we could use ldconfig to report *all* directores which are # searched for libraries, however this is still not possible. Aside from not # being certain /sbin/ldconfig is available, command @@ -2878,7 +2875,7 @@ # appending ld.so.conf contents (and includes) to the search path. if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on @@ -2890,6 +2887,18 @@ dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -3549,7 +3558,7 @@ lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else @@ -4427,7 +4436,7 @@ ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4939,6 +4948,9 @@ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -5001,6 +5013,9 @@ openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes @@ -5255,7 +5270,7 @@ fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -5776,6 +5791,7 @@ if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -5797,7 +5813,7 @@ esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/savers/floaters.c new/mate-screensaver-1.16.1/savers/floaters.c --- old/mate-screensaver-1.16.0/savers/floaters.c 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/savers/floaters.c 2017-01-20 13:46:32.000000000 +0100 @@ -1103,8 +1103,9 @@ screen_saver_floater_update_state (screen_saver, floater, time); - if (gtk_widget_get_realized (screen_saver->drawing_area) - && (floater->bounds.width > 0) && (floater->bounds.height > 0)) + if (screen_saver->drawing_area != NULL && + gtk_widget_get_realized (screen_saver->drawing_area) && + (floater->bounds.width > 0) && (floater->bounds.height > 0)) { gint size; size = CLAMP ((int) (FLOATER_MAX_SIZE * floater->scale), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/savers/gs-theme-engine.c new/mate-screensaver-1.16.1/savers/gs-theme-engine.c --- old/mate-screensaver-1.16.0/savers/gs-theme-engine.c 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/savers/gs-theme-engine.c 2017-01-20 13:46:32.000000000 +0100 @@ -107,56 +107,28 @@ } } -static void -gs_theme_engine_clear (GtkWidget *widget) -{ -#if GTK_CHECK_VERSION (3, 0, 0) - GdkRGBA color = { 0.0, 0.0, 0.0, 1.0 }; - GtkStateFlags state; -#else - GdkColor color = { 0, 0x0000, 0x0000, 0x0000 }; - GdkColormap *colormap; - GtkStyle *style; - GtkStateType state; -#endif - - g_return_if_fail (GS_IS_THEME_ENGINE (widget)); - - if (! gtk_widget_get_visible (widget)) - { - return; - } - +static gboolean #if GTK_CHECK_VERSION (3, 0, 0) - state = gtk_widget_get_state_flags (widget); - gtk_widget_override_background_color (widget, state, &color); - gdk_window_set_background_rgba (gtk_widget_get_window (widget), &color); +gs_theme_engine_real_draw (GtkWidget *widget, + cairo_t *cr) #else - style = gtk_widget_get_style (widget); - state = (GtkStateType) 0; - while (state < (GtkStateType) G_N_ELEMENTS (style->bg)) - { - gtk_widget_modify_bg (widget, state, &color); - state++; - } - - colormap = gdk_drawable_get_colormap (gtk_widget_get_window (widget)); - gdk_colormap_alloc_color (colormap, &color, FALSE, TRUE); - gdk_window_set_background (gtk_widget_get_window (widget), &color); - gdk_window_clear (gtk_widget_get_window (widget)); +gs_theme_engine_real_expose_event (GtkWidget *widget, + GdkEventExpose *event) #endif - gdk_flush (); -} - -static gboolean -gs_theme_engine_real_map_event (GtkWidget *widget, - GdkEventAny *event) { - gboolean handled = FALSE; +#if !GTK_CHECK_VERSION (3, 0, 0) + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr = gdk_cairo_create (window); - gs_theme_engine_clear (widget); +#endif + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_paint (cr); - return handled; +#if !GTK_CHECK_VERSION (3, 0, 0) + cairo_destroy (cr); +#endif + return FALSE; } static void @@ -171,7 +143,11 @@ object_class->get_property = gs_theme_engine_get_property; object_class->set_property = gs_theme_engine_set_property; - widget_class->map_event = gs_theme_engine_real_map_event; +#if GTK_CHECK_VERSION (3, 0, 0) + widget_class->draw = gs_theme_engine_real_draw; +#else + widget_class->expose_event = gs_theme_engine_real_expose_event; +#endif g_type_class_add_private (klass, sizeof (GSThemeEnginePrivate)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/gs-grab-x11.c new/mate-screensaver-1.16.1/src/gs-grab-x11.c --- old/mate-screensaver-1.16.0/src/gs-grab-x11.c 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/gs-grab-x11.c 2017-01-20 13:46:32.000000000 +0100 @@ -73,7 +73,7 @@ return "GrabNotViewable"; case GDK_GRAB_FROZEN: return "GrabFrozen"; -#if GTK_CHECK_VERSION (3, 0, 0) +#if GTK_CHECK_VERSION (3, 16, 0) case GDK_GRAB_FAILED: return "GrabFailed"; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/gs-lock-plug.c new/mate-screensaver-1.16.1/src/gs-lock-plug.c --- old/mate-screensaver-1.16.0/src/gs-lock-plug.c 2016-07-15 21:40:24.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/gs-lock-plug.c 2017-01-20 13:49:49.000000000 +0100 @@ -231,7 +231,7 @@ g_error_free (error); } } - else if (process_is_running ("gdm") || process_is_running("gdm3")) + else if (process_is_running ("gdm") || process_is_running("gdm3") || process_is_running("gdm-binary")) { /* GDM */ command = g_strdup_printf ("%s %s", @@ -1291,7 +1291,7 @@ /* MDM */ gtk_widget_show (plug->priv->auth_switch_button); } - else if (process_is_running ("gdm") || process_is_running("gdm3")) + else if (process_is_running ("gdm") || process_is_running("gdm3") || process_is_running("gdm-binary")) { /* GDM */ gtk_widget_show (plug->priv->auth_switch_button); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/gs-manager.c new/mate-screensaver-1.16.1/src/gs-manager.c --- old/mate-screensaver-1.16.0/src/gs-manager.c 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/gs-manager.c 2017-01-20 13:46:32.000000000 +0100 @@ -1277,9 +1277,9 @@ apply_background_to_window (GSManager *manager, GSWindow *window) { -#if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t *surface; -#else +#if !GTK_CHECK_VERSION (3, 0, 0) + cairo_t *cr; GdkPixmap *pixmap; #endif GdkScreen *screen; @@ -1289,11 +1289,7 @@ if (manager->priv->bg == NULL) { gs_debug ("No background available"); -#if GTK_CHECK_VERSION (3, 0, 0) gs_window_set_background_surface (window, NULL); -#else - gs_window_set_background_pixmap (window, NULL); -#endif } screen = gs_window_get_screen (window); @@ -1306,17 +1302,25 @@ width, height, FALSE); - gs_window_set_background_surface (window, surface); - cairo_surface_destroy (surface); #else + surface = gdk_window_create_similar_surface (gs_window_get_gdk_window (window), + CAIRO_CONTENT_COLOR, + width, + height); + cr = cairo_create (surface); + pixmap = mate_bg_create_pixmap (manager->priv->bg, gs_window_get_gdk_window (window), width, height, FALSE); - gs_window_set_background_pixmap (window, pixmap); + gdk_cairo_set_source_pixmap (cr, pixmap, 0, 0); + cairo_paint (cr); + cairo_destroy (cr); g_object_unref (pixmap); #endif + gs_window_set_background_surface (window, surface); + cairo_surface_destroy (surface); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/gs-window-x11.c new/mate-screensaver-1.16.1/src/gs-window-x11.c --- old/mate-screensaver-1.16.0/src/gs-window-x11.c 2016-07-15 21:40:24.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/gs-window-x11.c 2017-01-20 13:46:32.000000000 +0100 @@ -88,11 +88,7 @@ GtkWidget *info_bar; GtkWidget *info_content; -#if GTK_CHECK_VERSION (3, 0, 0) cairo_surface_t *background_surface; -#else - GdkPixmap *background_pixmap; -#endif guint popup_dialog_idle_id; @@ -266,18 +262,7 @@ #endif } -#if GTK_CHECK_VERSION (3, 0, 0) -static void -gs_window_reset_background_surface (GSWindow *window) -{ - cairo_pattern_t *pattern; - pattern = cairo_pattern_create_for_surface (window->priv->background_surface); - gdk_window_set_background_pattern (gtk_widget_get_window (GTK_WIDGET (window)), - pattern); - cairo_pattern_destroy (pattern); - gtk_widget_queue_draw (GTK_WIDGET (window)); -} -#else +#if !GTK_CHECK_VERSION (3, 0, 0) static void force_no_pixmap_background (GtkWidget *widget) { @@ -307,186 +292,47 @@ #endif void -#if GTK_CHECK_VERSION (3, 0, 0) gs_window_set_background_surface (GSWindow *window, cairo_surface_t *surface) -#else -gs_window_set_background_pixmap (GSWindow *window, - GdkPixmap *pixmap) -#endif { g_return_if_fail (GS_IS_WINDOW (window)); -#if GTK_CHECK_VERSION (3, 0, 0) if (window->priv->background_surface != NULL) { cairo_surface_destroy (window->priv->background_surface); } + window->priv->background_surface = NULL; if (surface != NULL) { window->priv->background_surface = cairo_surface_reference (surface); - gs_window_reset_background_surface (window); - } -#else - if (window->priv->background_pixmap != NULL) - { - g_object_unref (window->priv->background_pixmap); } - if (pixmap != NULL) - { - window->priv->background_pixmap = g_object_ref (pixmap); - gdk_window_set_back_pixmap (gtk_widget_get_window (GTK_WIDGET (window)), - pixmap, - FALSE); - } -#endif + gtk_widget_queue_draw (GTK_WIDGET (window)); } -static void -#if GTK_CHECK_VERSION (3, 0, 0) -gs_window_clear_to_background_surface (GSWindow *window) -#else -gs_window_clear_to_background_pixmap (GSWindow *window) -#endif +void +gs_window_clear (GSWindow *window) { -#if !GTK_CHECK_VERSION (3, 0, 0) - GtkStateType state; - GtkStyle *style; -#endif - g_return_if_fail (GS_IS_WINDOW (window)); - if (! gtk_widget_get_visible (GTK_WIDGET (window))) - { - return; - } + gs_debug ("Clearing widgets"); -#if GTK_CHECK_VERSION (3, 0, 0) - if (window->priv->background_surface == NULL) -#else - if (window->priv->background_pixmap == NULL) -#endif + if (gtk_widget_get_realized (GTK_WIDGET (window))) { - /* don't allow null pixmaps */ - return; + gtk_widget_queue_draw (GTK_WIDGET (window)); + /* If a screensaver theme adds child windows + we need to clear them too */ + widget_clear_all_children (GTK_WIDGET (window)); } - gs_debug ("Clearing window to background pixmap"); - -#if GTK_CHECK_VERSION (3, 0, 0) - gs_window_reset_background_surface (window); -#else - style = gtk_style_copy (gtk_widget_get_style (GTK_WIDGET (window))); - - state = (GtkStateType) 0; - while (state < (GtkStateType) G_N_ELEMENTS (gtk_widget_get_style (GTK_WIDGET (window))->bg_pixmap)) + if (gtk_widget_get_realized (window->priv->drawing_area)) { - - if (style->bg_pixmap[state] != NULL) - { - g_object_unref (style->bg_pixmap[state]); - } - - style->bg_pixmap[state] = g_object_ref (window->priv->background_pixmap); - state++; + gtk_widget_queue_draw (window->priv->drawing_area); + widget_clear_all_children (window->priv->drawing_area); } - gtk_widget_set_style (GTK_WIDGET (window), style); - g_object_unref (style); - - if (window->priv->background_pixmap != NULL) - { - gdk_window_set_back_pixmap (gtk_widget_get_window (GTK_WIDGET (window)), - window->priv->background_pixmap, - FALSE); - } - - gdk_window_clear (gtk_widget_get_window (GTK_WIDGET (window))); - gdk_flush (); -#endif -} - -static void -clear_widget (GtkWidget *widget) -{ -#if GTK_CHECK_VERSION (3, 0, 0) - GdkRGBA rgba = { 0.0, 0.0, 0.0, 1.0 }; - GtkStateFlags state; -#else - GdkColormap *colormap; - GdkColor color = { 0, 0x0000, 0x0000, 0x0000 }; - GtkStateType state; - GtkStyle *style; -#endif - -#if GTK_CHECK_VERSION (3, 0, 0) - if (!gtk_widget_get_realized (widget)) - { - return; - } - - gs_debug ("Clearing widget"); - - state = gtk_widget_get_state_flags (widget); - gtk_widget_override_background_color (widget, state, &rgba); - gdk_window_set_background_rgba (gtk_widget_get_window (widget), &rgba); - gtk_widget_queue_draw (GTK_WIDGET (widget)); -#else - if (!gtk_widget_get_visible (widget)) - { - return; - } - - gs_debug ("Clearing widget"); - - state = (GtkStateType) 0; - while (state < (GtkStateType) G_N_ELEMENTS (gtk_widget_get_style (widget)->bg)) - { - gtk_widget_modify_bg (widget, state, &color); - state++; - } - - style = gtk_style_copy (gtk_widget_get_style (widget)); - - state = (GtkStateType) 0; - while (state < (GtkStateType) G_N_ELEMENTS (gtk_widget_get_style (widget)->bg_pixmap)) - { - - if (style->bg_pixmap[state] != NULL) - { - g_object_unref (style->bg_pixmap[state]); - } - - style->bg_pixmap[state] = NULL; - state++; - } - - colormap = gdk_drawable_get_colormap (gtk_widget_get_window (widget)); - gdk_colormap_alloc_color (colormap, &color, FALSE, TRUE); - gdk_window_set_background (gtk_widget_get_window (widget), &color); - - gtk_widget_set_style (widget, style); - g_object_unref (style); - - gdk_window_clear (gtk_widget_get_window (widget)); -#endif - - /* If a screensaver theme adds child windows we need to clear them too */ - widget_clear_all_children (widget); - - gdk_flush (); -} - -void -gs_window_clear (GSWindow *window) -{ - g_return_if_fail (GS_IS_WINDOW (window)); - - clear_widget (GTK_WIDGET (window)); - clear_widget (window->priv->drawing_area); } #if GTK_CHECK_VERSION (3, 0, 0) @@ -1071,6 +917,39 @@ #endif } +static gboolean +#if GTK_CHECK_VERSION (3, 0, 0) +gs_window_real_draw (GtkWidget *widget, + cairo_t *cr) +#else +gs_window_real_expose_event (GtkWidget *widget, + GdkEventExpose *event) +#endif +{ + GSWindow *window = GS_WINDOW (widget); + cairo_surface_t *bg_surface = window->priv->background_surface; +#if !GTK_CHECK_VERSION (3, 0, 0) + GdkWindow *gdk_window = gtk_widget_get_window (widget); + cairo_t *cr = gdk_cairo_create (gdk_window); +#endif + + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + if (bg_surface != NULL) + { + cairo_set_source_surface (cr, bg_surface, 0, 0); + } + else + { + cairo_set_source_rgb (cr, 0, 0, 0); + } + cairo_paint (cr); + +#if !GTK_CHECK_VERSION (3, 0, 0) + cairo_destroy (cr); +#endif + return FALSE; +} + static void gs_window_real_show (GtkWidget *widget) { @@ -1779,7 +1658,7 @@ window->priv->dialog_shake_in_progress = TRUE; - for (i = 0; i < 9; i++) + for (i = 0; i < 8; i++) { if (i % 2 == 0) { @@ -2027,11 +1906,7 @@ gtk_widget_hide (window->priv->drawing_area); -#if GTK_CHECK_VERSION (3, 0, 0) - gs_window_clear_to_background_surface (window); -#else - gs_window_clear_to_background_pixmap (window); -#endif + gtk_widget_queue_draw (GTK_WIDGET (window)); set_invisible_cursor (gtk_widget_get_window (GTK_WIDGET (window)), FALSE); window->priv->dialog_quit_requested = FALSE; @@ -2633,6 +2508,11 @@ widget_class->show = gs_window_real_show; widget_class->hide = gs_window_real_hide; +#if GTK_CHECK_VERSION (3, 0, 0) + widget_class->draw = gs_window_real_draw; +#else + widget_class->expose_event = gs_window_real_expose_event; +#endif widget_class->realize = gs_window_real_realize; widget_class->unrealize = gs_window_real_unrealize; widget_class->key_press_event = gs_window_real_key_press_event; @@ -2757,16 +2637,29 @@ gtk_box_pack_end (GTK_BOX (window->priv->vbox), window->priv->info_bar, FALSE, FALSE, 0); } +static gboolean #if GTK_CHECK_VERSION (3, 0, 0) -static void -on_drawing_area_realized (GtkWidget *drawing_area) +on_drawing_area_draw (GtkWidget *widget, + cairo_t *cr) +#else +on_drawing_area_expose_event (GtkWidget *widget, + GdkEventExpose *event) +#endif { - GdkRGBA black = { 0.0, 0.0, 0.0, 1.0 }; +#if !GTK_CHECK_VERSION (3, 0, 0) + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr = gdk_cairo_create (window); - gdk_window_set_background_rgba (gtk_widget_get_window (drawing_area), - &black); -} #endif + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_paint (cr); + +#if !GTK_CHECK_VERSION (3, 0, 0) + cairo_destroy (cr); +#endif + return FALSE; +} static void gs_window_init (GSWindow *window) @@ -2812,21 +2705,22 @@ window->priv->drawing_area = gtk_drawing_area_new (); gtk_widget_show (window->priv->drawing_area); -#if GTK_CHECK_VERSION (3, 0, 0) gtk_widget_set_app_paintable (window->priv->drawing_area, TRUE); -#endif - gtk_box_pack_start (GTK_BOX (window->priv->vbox), window->priv->drawing_area, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (window->priv->vbox), + window->priv->drawing_area, TRUE, TRUE, 0); #if GTK_CHECK_VERSION (3, 0, 0) g_signal_connect (window->priv->drawing_area, - "realize", - G_CALLBACK (on_drawing_area_realized), + "draw", + G_CALLBACK (on_drawing_area_draw), + NULL); +#else + g_signal_connect (window->priv->drawing_area, + "expose-event", + G_CALLBACK (on_drawing_area_expose_event), NULL); -#endif - create_info_bar (window); - -#if !GTK_CHECK_VERSION (3, 0, 0) force_no_pixmap_background (window->priv->drawing_area); #endif + create_info_bar (window); } static void @@ -2879,17 +2773,10 @@ gs_window_dialog_finish (window); -#if GTK_CHECK_VERSION (3, 0, 0) if (window->priv->background_surface) { cairo_surface_destroy (window->priv->background_surface); } -#else - if (window->priv->background_pixmap) - { - g_object_unref (window->priv->background_pixmap); - } -#endif G_OBJECT_CLASS (gs_window_parent_class)->finalize (object); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/gs-window.h new/mate-screensaver-1.16.1/src/gs-window.h --- old/mate-screensaver-1.16.0/src/gs-window.h 2015-10-06 17:32:23.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/gs-window.h 2017-01-20 13:46:32.000000000 +0100 @@ -66,13 +66,8 @@ int monitor); int gs_window_get_monitor (GSWindow *window); -#if GTK_CHECK_VERSION (3, 0, 0) void gs_window_set_background_surface (GSWindow *window, - cairo_surface_t *surface); -#else -void gs_window_set_background_pixmap (GSWindow *window, - GdkPixmap *pixmap); -#endif + cairo_surface_t *surface); void gs_window_set_lock_enabled (GSWindow *window, gboolean lock_enabled); void gs_window_set_logout_enabled (GSWindow *window, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/mate-screensaver-preferences.c new/mate-screensaver-1.16.1/src/mate-screensaver-preferences.c --- old/mate-screensaver-1.16.0/src/mate-screensaver-preferences.c 2016-06-25 19:07:10.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/mate-screensaver-preferences.c 2017-01-20 13:46:32.000000000 +0100 @@ -299,22 +299,6 @@ } static void -preview_clear (GtkWidget *widget) -{ -#if GTK_CHECK_VERSION (3, 0, 0) - GdkRGBA black = { 0.0, 0.0, 0.0, 1.0 }; - - gdk_window_set_background_rgba (gtk_widget_get_window (widget), &black); - gtk_widget_queue_draw (widget); -#else - GdkColor black = { 0, 0x0000, 0x0000, 0x0000 }; - - gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, &black); - gdk_window_clear (gtk_widget_get_window (widget)); -#endif -} - -static void job_set_theme (GSJob *job, const char *theme) { @@ -337,6 +321,33 @@ } } +static gboolean +#if GTK_CHECK_VERSION (3, 0, 0) +preview_on_draw (GtkWidget *widget, + cairo_t *cr) +#else +preview_on_expose_event (GtkWidget *widget, + GdkEventExpose *event) +#endif +{ +#if !GTK_CHECK_VERSION (3, 0, 0) + GdkWindow *window = gtk_widget_get_window (widget); + cairo_t *cr = gdk_cairo_create (window); + +#endif + if (job == NULL || !gs_job_is_running (job)) + { + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_set_source_rgb (cr, 0, 0, 0); + cairo_paint (cr); + } + +#if !GTK_CHECK_VERSION (3, 0, 0) + cairo_destroy (cr); +#endif + return FALSE; +} + static void preview_set_theme (GtkWidget *widget, const char *theme, @@ -350,7 +361,7 @@ gs_job_stop (job); } - preview_clear (widget); + gtk_widget_queue_draw (widget); label = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_theme_label")); markup = g_markup_printf_escaped ("<i>%s</i>", name); @@ -1138,10 +1149,20 @@ { GtkWidget *treeview; GtkTreeSelection *selection; +#if !GTK_CHECK_VERSION (3, 0, 0) + GtkWidget *fullscreen_preview_area; +#endif treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); tree_selection_previous (selection); +#if !GTK_CHECK_VERSION (3, 0, 0) + + fullscreen_preview_area = + GTK_WIDGET (gtk_builder_get_object (builder, + "fullscreen_preview_area")); + gtk_widget_queue_draw (fullscreen_preview_area); +#endif } static void @@ -1150,10 +1171,20 @@ { GtkWidget *treeview; GtkTreeSelection *selection; +#if !GTK_CHECK_VERSION (3, 0, 0) + GtkWidget *fullscreen_preview_area; +#endif treeview = GTK_WIDGET (gtk_builder_get_object (builder, "savers_treeview")); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); tree_selection_next (selection); +#if !GTK_CHECK_VERSION (3, 0, 0) + + fullscreen_preview_area = + GTK_WIDGET (gtk_builder_get_object (builder, + "fullscreen_preview_area")); + gtk_widget_queue_draw (fullscreen_preview_area); +#endif } static void @@ -1170,7 +1201,7 @@ gs_job_set_widget (job, preview_area); fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area")); - preview_clear (fullscreen_preview_area); + gtk_widget_queue_draw (fullscreen_preview_area); fullscreen_preview_window = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_window")); gtk_widget_hide (fullscreen_preview_window); @@ -1200,7 +1231,7 @@ gtk_widget_grab_focus (fullscreen_preview_window); fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area")); - preview_clear (fullscreen_preview_area); + gtk_widget_queue_draw (fullscreen_preview_area); gs_job_set_widget (job, fullscreen_preview_area); } @@ -1553,6 +1584,7 @@ GtkWidget *preview_button; GtkWidget *gpm_button; GtkWidget *fullscreen_preview_window; + GtkWidget *fullscreen_preview_area; GtkWidget *fullscreen_preview_previous; GtkWidget *fullscreen_preview_next; GtkWidget *fullscreen_preview_close; @@ -1601,7 +1633,7 @@ preview_button = GTK_WIDGET (gtk_builder_get_object (builder, "preview_button")); gpm_button = GTK_WIDGET (gtk_builder_get_object (builder, "gpm_button")); fullscreen_preview_window = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_window")); - GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area")); + fullscreen_preview_area = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_area")); fullscreen_preview_close = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_close")); fullscreen_preview_previous = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_previous_button")); fullscreen_preview_next = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_next_button")); @@ -1673,6 +1705,16 @@ gtk_window_set_icon_name (GTK_WINDOW (dialog), "preferences-desktop-screensaver"); gtk_window_set_icon_name (GTK_WINDOW (fullscreen_preview_window), "screensaver"); +#if GTK_CHECK_VERSION (3, 0, 0) + g_signal_connect (fullscreen_preview_area, + "draw", G_CALLBACK (preview_on_draw), + NULL); +#else + g_signal_connect (fullscreen_preview_area, + "expose-event", G_CALLBACK (preview_on_expose_event), + NULL); +#endif + gtk_drag_dest_set (dialog, GTK_DEST_DEFAULT_ALL, drop_types, G_N_ELEMENTS (drop_types), GDK_ACTION_COPY | GDK_ACTION_LINK | GDK_ACTION_MOVE); @@ -1695,7 +1737,13 @@ g_strfreev (list); } - preview_clear (preview); +#if GTK_CHECK_VERSION (3, 0, 0) + g_signal_connect (preview, "draw", G_CALLBACK (preview_on_draw), NULL); +#else + g_signal_connect (preview, + "expose-event", G_CALLBACK (preview_on_expose_event), + NULL); +#endif gs_job_set_widget (job, preview); if (check_is_root_user ()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/mate-screensaver-1.16.0/src/mate-screensaver.desktop.in new/mate-screensaver-1.16.1/src/mate-screensaver.desktop.in --- old/mate-screensaver-1.16.0/src/mate-screensaver.desktop.in 2016-09-19 06:47:21.000000000 +0200 +++ new/mate-screensaver-1.16.1/src/mate-screensaver.desktop.in 2017-01-20 14:44:26.000000000 +0100 @@ -11,4 +11,4 @@ X-MATE-Bugzilla-Bugzilla=MATE X-MATE-Bugzilla-Product=mate-screensaver X-MATE-Bugzilla-Component=general -X-MATE-Bugzilla-Version=1.16.0 +X-MATE-Bugzilla-Version=1.16.1
participants (1)
-
root@hilbertn.suse.de