Hello community, here is the log from the commit of package notify-osd for openSUSE:Factory checked in at 2015-11-02 12:55:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/notify-osd (Old) and /work/SRC/openSUSE:Factory/.notify-osd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "notify-osd" Changes: -------- --- /work/SRC/openSUSE:Factory/notify-osd/notify-osd.changes 2015-10-12 10:02:38.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.notify-osd.new/notify-osd.changes 2015-11-02 12:55:29.000000000 +0100 @@ -1,0 +2,7 @@ +Sat Oct 31 10:21:56 UTC 2015 - sor.alexei@meowr.ru + +- Update to 0.9.35~bzr20151014 (changes since 0.9.35~bzr20151005): + * Only request rgba visuals on composited screens (lp#1473269). +- Rebase notify-osd-leolik.patch. + +------------------------------------------------------------------- Old: ---- notify-osd_0.9.35+15.10.20151005.orig.tar.gz New: ---- notify-osd_0.9.35+15.10.20151014.orig.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ notify-osd.spec ++++++ --- /var/tmp/diff_new_pack.EPUrUR/_old 2015-11-02 12:55:30.000000000 +0100 +++ /var/tmp/diff_new_pack.EPUrUR/_new 2015-11-02 12:55:30.000000000 +0100 @@ -16,9 +16,9 @@ # -%define _version 0.9.35+15.10.20151005 +%define _version 0.9.35+15.10.20151014 Name: notify-osd -Version: 0.9.35~bzr20151005 +Version: 0.9.35~bzr20151014 Release: 0 Summary: Streamlined Notification Daemon License: GPL-3.0+ ++++++ notify-osd-leolik.patch ++++++ --- /var/tmp/diff_new_pack.EPUrUR/_old 2015-11-02 12:55:30.000000000 +0100 +++ /var/tmp/diff_new_pack.EPUrUR/_new 2015-11-02 12:55:30.000000000 +0100 @@ -85,7 +85,7 @@ draw_round_rect ( cr, -@@ -1662,6 +1681,8 @@ +@@ -1667,6 +1686,8 @@ if (!window) return; @@ -94,7 +94,7 @@ // set an 1x1 input-region to allow click-through region = cairo_region_create_rectangle (&rect); if (cairo_region_status (region) == CAIRO_STATUS_SUCCESS) -@@ -1670,6 +1691,12 @@ +@@ -1675,6 +1696,12 @@ gtk_widget_input_shape_combine_region (window, region); } cairo_region_destroy (region); @@ -107,7 +107,7 @@ } static void -@@ -1756,7 +1783,7 @@ +@@ -1761,7 +1788,7 @@ cairo_paint (cr); cairo_set_operator (cr, CAIRO_OPERATOR_OVER); @@ -116,7 +116,7 @@ { // render drop-shadow and bubble-background _render_background (bubble, cr, 1.0f, 0.0f); -@@ -1787,6 +1814,30 @@ +@@ -1792,6 +1819,30 @@ } static gboolean @@ -147,7 +147,7 @@ redraw_handler (Bubble* bubble) { GtkWindow* window; -@@ -1810,7 +1861,7 @@ +@@ -1815,7 +1866,7 @@ if (priv->alpha == NULL) { @@ -156,7 +156,7 @@ { gtk_widget_set_opacity (priv->widget, WINDOW_MIN_OPACITY + -@@ -1979,7 +2030,7 @@ +@@ -1984,7 +2035,7 @@ // mark mouse-pointer having left bubble and proximity-area // after inital show-up of bubble @@ -165,7 +165,7 @@ priv->prevent_fade = FALSE; } -@@ -2275,6 +2326,14 @@ +@@ -2280,6 +2331,14 @@ G_CALLBACK (bubble_draw), this); @@ -180,7 +180,7 @@ // "clear" input-mask, set title/icon/attributes gtk_widget_set_app_paintable (window, TRUE); gtk_window_set_title (GTK_WINDOW (window), "notify-osd"); -@@ -2757,7 +2816,7 @@ +@@ -2762,7 +2821,7 @@ priv = self->priv; @@ -189,7 +189,7 @@ return FALSE; return priv->mouse_over; -@@ -2861,7 +2920,7 @@ +@@ -2866,7 +2925,7 @@ // check if mouse-pointer is over bubble (and proximity-area) initially pointer_update (self); @@ -198,7 +198,7 @@ priv->prevent_fade = TRUE; else priv->prevent_fade = FALSE; -@@ -3424,6 +3483,8 @@ +@@ -3429,6 +3488,8 @@ gint old_bubble_height = 0; gint new_bubble_width = 0; gint new_bubble_height = 0; @@ -207,7 +207,7 @@ Defaults* d; BubblePrivate* priv; -@@ -3618,6 +3679,13 @@ +@@ -3623,6 +3684,13 @@ _refresh_body (self); update_shape (self); ++++++ notify-osd_0.9.35+15.10.20151005.orig.tar.gz -> notify-osd_0.9.35+15.10.20151014.orig.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/notify-osd-0.9.35+15.10.20151005/src/bubble.c new/notify-osd-0.9.35+15.10.20151014/src/bubble.c --- old/notify-osd-0.9.35+15.10.20151005/src/bubble.c 2015-10-05 16:27:26.000000000 +0200 +++ new/notify-osd-0.9.35+15.10.20151014/src/bubble.c 2015-10-14 11:50:06.000000000 +0200 @@ -1643,7 +1643,12 @@ gpointer data) { GdkScreen* screen = gtk_widget_get_screen (GTK_WIDGET (window)); - GdkVisual* visual = gdk_screen_get_rgba_visual (screen); + GdkVisual* visual; + + if (!gdk_screen_is_composited (screen)) + return; + + visual = gdk_screen_get_rgba_visual (screen); if (!visual) visual = gdk_screen_get_system_visual (screen); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/notify-osd-0.9.35+15.10.20151005/src/dnd.c new/notify-osd-0.9.35+15.10.20151014/src/dnd.c --- old/notify-osd-0.9.35+15.10.20151005/src/dnd.c 2015-10-05 16:27:21.000000000 +0200 +++ new/notify-osd-0.9.35+15.10.20151014/src/dnd.c 2015-10-14 11:50:10.000000000 +0200 @@ -45,6 +45,7 @@ #include "dbus.h" static DBusGProxy *gsmgr = NULL; +static DBusGProxy *gscrsvr = NULL; gboolean dnd_is_xscreensaver_active () @@ -98,57 +99,67 @@ } static DBusGProxy* -get_screensaver_proxy (void) +get_gnomesession_proxy (void) { if (gsmgr == NULL) { DBusGConnection *connection = dbus_get_connection (); gsmgr = dbus_g_proxy_new_for_name (connection, - "org.gnome.ScreenSaver", - "/org/gnome/ScreenSaver", - "org.gnome.ScreenSaver"); + "org.gnome.SessionManager", + "/org/gnome/SessionManager", + "org.gnome.SessionManager"); } return gsmgr; -} +} gboolean -dnd_is_screensaver_inhibited () +dnd_is_idle_inhibited () { GError *error = NULL; gboolean inhibited = FALSE; - char **list; + guint idle = 8; // 8: Inhibit the session being marked as idle - if (! get_screensaver_proxy ()) + if (! get_gnomesession_proxy ()) return FALSE; - if (dbus_g_proxy_call_with_timeout ( - gsmgr, "GetInhibitors", 2000, &error, - G_TYPE_INVALID, - G_TYPE_STRV, &list, - G_TYPE_INVALID)) - { - if (error) - { - g_warning ("dnd_is_screensaver_inhibited(): " - "got error \"%s\"\n", - error->message); - g_error_free (error); - error = NULL; - } - - /* if the list is not empty, the screensaver is inhibited */ - if (*list) - { - inhibited = TRUE; - g_debug ("Screensaver has been inhibited"); - } - g_strfreev (list); + dbus_g_proxy_call_with_timeout ( + gsmgr, "IsInhibited", 2000, &error, + G_TYPE_UINT, idle, + G_TYPE_INVALID, + G_TYPE_BOOLEAN, &inhibited, + G_TYPE_INVALID); + + if (error) + { + g_warning ("dnd_is_idle_inhibited(): " + "got error \"%s\"\n", + error->message); + g_error_free (error); + error = NULL; } + if (inhibited) + g_debug ("Session idleness has been inhibited"); + return inhibited; } +static DBusGProxy* +get_screensaver_proxy (void) +{ + if (gscrsvr == NULL) + { + DBusGConnection *connection = dbus_get_connection (); + gscrsvr = dbus_g_proxy_new_for_name (connection, + "org.gnome.ScreenSaver", + "/org/gnome/ScreenSaver", + "org.gnome.ScreenSaver"); + } + + return gscrsvr; +} + gboolean dnd_is_screensaver_active () { @@ -159,7 +170,7 @@ return FALSE; dbus_g_proxy_call_with_timeout ( - gsmgr, "GetActive", 2000, &error, + gscrsvr, "GetActive", 2000, &error, G_TYPE_INVALID, G_TYPE_BOOLEAN, &active, G_TYPE_INVALID); @@ -222,7 +233,7 @@ return (dnd_is_online_presence_dnd() || dnd_is_xscreensaver_active() || dnd_is_screensaver_active() - || dnd_is_screensaver_inhibited() + || dnd_is_idle_inhibited() || dnd_has_one_fullscreen_window() ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/notify-osd-0.9.35+15.10.20151005/src/dnd.h new/notify-osd-0.9.35+15.10.20151014/src/dnd.h --- old/notify-osd-0.9.35+15.10.20151005/src/dnd.h 2015-10-05 16:27:21.000000000 +0200 +++ new/notify-osd-0.9.35+15.10.20151014/src/dnd.h 2015-10-14 11:50:10.000000000 +0200 @@ -39,7 +39,7 @@ dnd_is_xscreensaver_active (void); gboolean -dnd_is_screensaver_inhibited (void); +dnd_is_idle_inhibited (void); gboolean dnd_is_screensaver_active (void); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/notify-osd-0.9.35+15.10.20151005/tests/test-dnd.c new/notify-osd-0.9.35+15.10.20151014/tests/test-dnd.c --- old/notify-osd-0.9.35+15.10.20151005/tests/test-dnd.c 2015-10-05 16:27:21.000000000 +0200 +++ new/notify-osd-0.9.35+15.10.20151014/tests/test-dnd.c 2015-10-14 11:50:17.000000000 +0200 @@ -38,21 +38,6 @@ #define TEST_DBUS_NAME "org.freedesktop.Notificationstest" static -void -test_dnd_screensaver (gpointer fixture, gconstpointer user_data) -{ - gboolean test = dnd_is_screensaver_inhibited(); - - if (test) - g_debug ("screensaver is inhibited"); - - test = dnd_is_screensaver_active(); - - if (test) - g_debug ("screensaver is active"); -} - -static gboolean check_fullscreen (GMainLoop *loop) { @@ -122,7 +107,6 @@ ts = g_test_create_suite ("dnd"); #define TC(x) g_test_create_case(#x, 0, NULL, NULL, x, NULL) - g_test_suite_add (ts, TC(test_dnd_screensaver)); // FIXME: test_dnd_fullscreen() fails under compiz because of it using // viewports instead of workspaces