Hello community,

here is the log from the commit of package libdazzle for openSUSE:Factory 
checked in at 2020-11-19 11:56:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libdazzle (Old)
 and      /work/SRC/openSUSE:Factory/.libdazzle.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libdazzle"

Thu Nov 19 11:56:45 2020 rev:20 rq:847244 version:3.38.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/libdazzle/libdazzle.changes      2020-04-23 
18:27:34.967759963 +0200
+++ /work/SRC/openSUSE:Factory/.libdazzle.new.5913/libdazzle.changes    
2020-11-23 10:33:48.849579879 +0100
@@ -1,0 +2,16 @@
+Mon Sep 14 10:12:36 UTC 2020 - [email protected]
+
+- Update to version 3.38.0:
+  + No changes since 3.37.1.
+
+-------------------------------------------------------------------
+Fri Sep  4 16:14:51 UTC 2020 - [email protected]
+
+- Update to version 3.37.1:
+  + Fixes for powerpc32.
+  + Tweaks for CSS priorities.
+  + Add DzlApplicationWindow:titlebar-animation property.
+  + Fix C++ compilation.
+  + Make showing file browser asynchronous on Linux/BSD/etc.
+
+-------------------------------------------------------------------

Old:
----
  libdazzle-3.36.0.tar.xz

New:
----
  libdazzle-3.38.0.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libdazzle.spec ++++++
--- /var/tmp/diff_new_pack.LfuJLH/_old  2020-11-23 10:33:49.277580348 +0100
+++ /var/tmp/diff_new_pack.LfuJLH/_new  2020-11-23 10:33:49.277580348 +0100
@@ -17,16 +17,16 @@
 
 
 Name:           libdazzle
-Version:        3.36.0
+Version:        3.38.0
 Release:        0
 Summary:        Collection of fancy features for GLib and Gtk+
 License:        GPL-3.0-or-later AND LGPL-2.1-or-later
 Group:          Development/Tools/Other
 URL:            https://gitlab.gnome.org/GNOME/libdazzle
-Source0:        
https://download.gnome.org/sources/libdazzle/3.36/%{name}-%{version}.tar.xz
+Source0:        
https://download.gnome.org/sources/libdazzle/3.38/%{name}-%{version}.tar.xz
 
 BuildRequires:  gtk-doc
-BuildRequires:  meson >= 0.49.0
+BuildRequires:  meson >= 0.50.0
 BuildRequires:  pkgconfig
 BuildRequires:  pkgconfig(gio-2.0) >= 2.55.0
 BuildRequires:  pkgconfig(glib-2.0)

++++++ libdazzle-3.36.0.tar.xz -> libdazzle-3.38.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/NEWS new/libdazzle-3.38.0/NEWS
--- old/libdazzle-3.36.0/NEWS   2020-03-06 21:17:59.520407400 +0100
+++ new/libdazzle-3.38.0/NEWS   2020-09-12 20:49:35.545795200 +0200
@@ -1,4 +1,22 @@
 ==============
+Version 3.38.0
+==============
+
+No changes since 3.37.1
+
+==============
+Version 3.37.0
+==============
+
+Changes in this release:
+
+ • Fixes for powerpc32
+ • Tweaks for CSS priorities
+ • Add DzlApplicationWindow:titlebar-animation property
+ • Fix C++ compilation
+ • Make showing file browser asynchronous on Linux/BSD/etc
+
+==============
 Version 3.36.0
 ==============
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/examples/app/example-window.c 
new/libdazzle-3.38.0/examples/app/example-window.c
--- old/libdazzle-3.36.0/examples/app/example-window.c  2020-03-06 
21:17:59.523407500 +0100
+++ new/libdazzle-3.38.0/examples/app/example-window.c  2020-09-12 
20:49:35.547795300 +0200
@@ -143,6 +143,23 @@
 }
 
 static void
+on_titlebar_animation (ExampleWindow *self,
+                       GParamSpec    *pspec)
+{
+  g_autoptr(GEnumClass) enum_class = NULL;
+  DzlTitlebarAnimation mode;
+  GEnumValue *value;
+
+  g_assert (EXAMPLE_IS_WINDOW (self));
+
+  mode = dzl_application_window_get_titlebar_animation (DZL_APPLICATION_WINDOW 
(self));
+
+  enum_class = g_type_class_ref (DZL_TYPE_TITLEBAR_ANIMATION);
+  value = g_enum_get_value (enum_class, mode);
+  g_print ("Titlebar Animation: %s\n", value->value_nick);
+}
+
+static void
 example_window_class_init (ExampleWindowClass *klass)
 {
   GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
@@ -164,6 +181,11 @@
 
   gtk_widget_init_template (GTK_WIDGET (self));
 
+  g_signal_connect (self,
+                    "notify::titlebar-animation",
+                    G_CALLBACK (on_titlebar_animation),
+                    NULL);
+
   g_signal_connect (self->notebook,
                     "notify::page",
                     G_CALLBACK (on_page_changed),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/meson.build 
new/libdazzle-3.38.0/meson.build
--- old/libdazzle-3.36.0/meson.build    2020-03-06 21:17:59.524407600 +0100
+++ new/libdazzle-3.38.0/meson.build    2020-09-12 20:49:35.547795300 +0200
@@ -1,7 +1,7 @@
 project('libdazzle', 'c',
-          version: '3.36.0',
+          version: '3.38.0',
           license: 'GPLv3+',
-    meson_version: '>= 0.49.0',
+    meson_version: '>= 0.50.0',
   default_options: [ 'warning_level=1', 'buildtype=debugoptimized', 
'c_std=gnu11' ],
 )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/app/dzl-application-window.c 
new/libdazzle-3.38.0/src/app/dzl-application-window.c
--- old/libdazzle-3.36.0/src/app/dzl-application-window.c       2020-03-06 
21:17:59.528407600 +0100
+++ new/libdazzle-3.38.0/src/app/dzl-application-window.c       2020-09-12 
20:49:35.549795400 +0200
@@ -26,6 +26,8 @@
 # include "backports/gtkeventcontrollermotion.c"
 #endif
 
+#include "dzl-enums.h"
+
 #include "app/dzl-application-window.h"
 #include "shortcuts/dzl-shortcut-manager.h"
 #include "util/dzl-gtk.h"
@@ -59,8 +61,12 @@
   GtkEventController *motion_controller;
   gulong              motion_controller_handler;
 
+  DzlTitlebarAnimation  last_titlebar_animation;
+
   guint        fullscreen_source;
   guint        fullscreen_reveal_source;
+  guint        titlebar_hiding;
+
   guint        fullscreen : 1;
   guint        in_key_press : 1;
 } DzlApplicationWindowPrivate;
@@ -68,6 +74,7 @@
 enum {
   PROP_0,
   PROP_FULLSCREEN,
+  PROP_TITLEBAR_ANIMATION,
   N_PROPS
 };
 
@@ -80,17 +87,58 @@
 static GParamSpec *properties [N_PROPS];
 static GtkBuildableIface *parent_buildable;
 
+static void
+update_titlebar_animation_property (DzlApplicationWindow *self)
+{
+  DzlApplicationWindowPrivate *priv = 
dzl_application_window_get_instance_private (self);
+  DzlTitlebarAnimation current;
+
+  g_assert (DZL_IS_APPLICATION_WINDOW (self));
+
+  current = dzl_application_window_get_titlebar_animation (self);
+
+  if (current != priv->last_titlebar_animation)
+    {
+      priv->last_titlebar_animation = current;
+      g_object_notify_by_pspec (G_OBJECT (self), properties 
[PROP_TITLEBAR_ANIMATION]);
+    }
+}
+
 static gboolean
-dzl_application_window_dismissal (DzlApplicationWindow *self)
+dzl_application_window_titlebar_hidden_cb (gpointer data)
 {
+  DzlApplicationWindow *self = data;
   DzlApplicationWindowPrivate *priv = 
dzl_application_window_get_instance_private (self);
 
   g_assert (DZL_IS_APPLICATION_WINDOW (self));
 
-  priv->fullscreen_reveal_source = 0;
+  priv->titlebar_hiding--;
+  update_titlebar_animation_property (self);
+
+  return G_SOURCE_REMOVE;
+}
+
+static gboolean
+dzl_application_window_dismissal (DzlApplicationWindow *self)
+{
+  DzlApplicationWindowPrivate *priv = 
dzl_application_window_get_instance_private (self);
+
+  g_assert (DZL_IS_APPLICATION_WINDOW (self));
 
   if (dzl_application_window_get_fullscreen (self))
-    gtk_revealer_set_reveal_child (priv->titlebar_revealer, FALSE);
+    {
+      priv->titlebar_hiding++;
+      gtk_revealer_set_reveal_child (priv->titlebar_revealer, FALSE);
+      g_timeout_add_full (G_PRIORITY_DEFAULT,
+                          gtk_revealer_get_transition_duration 
(priv->titlebar_revealer),
+                          dzl_application_window_titlebar_hidden_cb,
+                          g_object_ref (self),
+                          g_object_unref);
+    }
+
+  update_titlebar_animation_property (self);
+
+  priv->fullscreen_reveal_source = 0;
 
   return G_SOURCE_REMOVE;
 }
@@ -223,6 +271,8 @@
 
   g_object_unref (titlebar);
 
+  update_titlebar_animation_property (self);
+
   return G_SOURCE_REMOVE;
 }
 
@@ -371,6 +421,17 @@
 }
 
 static void
+dzl_application_window_revealer_notify_child_state (DzlApplicationWindow *self,
+                                                    GParamSpec           
*pspec,
+                                                    GtkRevealer          
*revealer)
+{
+  g_assert (DZL_IS_APPLICATION_WINDOW (self));
+  g_assert (GTK_IS_REVEALER (revealer));
+
+  update_titlebar_animation_property (self);
+}
+
+static void
 dzl_application_window_destroy (GtkWidget *widget)
 {
   DzlApplicationWindow *self = (DzlApplicationWindow *)widget;
@@ -404,6 +465,10 @@
       g_value_set_boolean (value, dzl_application_window_get_fullscreen 
(self));
       break;
 
+    case PROP_TITLEBAR_ANIMATION:
+      g_value_set_enum (value, dzl_application_window_get_titlebar_animation 
(self));
+      break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
     }
@@ -467,6 +532,14 @@
                           FALSE,
                           (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
+  properties [PROP_TITLEBAR_ANIMATION] =
+    g_param_spec_enum ("titlebar-animation",
+                       "Titlebar Animation",
+                       "The state of the titlebar animation",
+                       DZL_TYPE_TITLEBAR_ANIMATION,
+                       DZL_TITLEBAR_ANIMATION_SHOWN,
+                       (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS));
+
   g_object_class_install_properties (object_class, N_PROPS, properties);
 }
 
@@ -476,6 +549,8 @@
   DzlApplicationWindowPrivate *priv = 
dzl_application_window_get_instance_private (self);
   g_autoptr(GPropertyAction) fullscreen = NULL;
 
+  priv->last_titlebar_animation = DZL_TITLEBAR_ANIMATION_SHOWN;
+
   priv->titlebar_container = g_object_new (GTK_TYPE_STACK,
                                            "name", "titlebar_container",
                                            "visible", TRUE,
@@ -513,6 +588,16 @@
                                           "reveal-child", TRUE,
                                           "visible", TRUE,
                                           NULL);
+  g_signal_connect_object (priv->titlebar_revealer,
+                           "notify::child-revealed",
+                           G_CALLBACK 
(dzl_application_window_revealer_notify_child_state),
+                           self,
+                           G_CONNECT_SWAPPED);
+  g_signal_connect_object (priv->titlebar_revealer,
+                           "notify::reveal-child",
+                           G_CALLBACK 
(dzl_application_window_revealer_notify_child_state),
+                           self,
+                           G_CONNECT_SWAPPED);
   g_signal_connect (priv->titlebar_revealer,
                     "destroy",
                     G_CALLBACK (gtk_widget_destroyed),
@@ -566,7 +651,10 @@
   fullscreen = !!fullscreen;
 
   if (fullscreen != dzl_application_window_get_fullscreen (self))
-    DZL_APPLICATION_WINDOW_GET_CLASS (self)->set_fullscreen (self, fullscreen);
+    {
+      DZL_APPLICATION_WINDOW_GET_CLASS (self)->set_fullscreen (self, 
fullscreen);
+      update_titlebar_animation_property (self);
+    }
 }
 
 static void
@@ -644,3 +732,41 @@
   if (titlebar != NULL)
     gtk_container_add (GTK_CONTAINER (priv->titlebar_container), titlebar);
 }
+
+DzlTitlebarAnimation
+dzl_application_window_get_titlebar_animation (DzlApplicationWindow *self)
+{
+  DzlApplicationWindowPrivate *priv = 
dzl_application_window_get_instance_private (self);
+  GtkWidget *titlebar;
+
+  g_return_val_if_fail (DZL_IS_APPLICATION_WINDOW (self), 0);
+
+  titlebar = dzl_application_window_get_titlebar (self);
+  if (titlebar == NULL)
+    return DZL_TITLEBAR_ANIMATION_HIDDEN;
+
+  if (!dzl_application_window_get_fullscreen (self))
+    {
+      if (gtk_widget_get_visible (titlebar))
+        return DZL_TITLEBAR_ANIMATION_SHOWN;
+      else
+        return DZL_TITLEBAR_ANIMATION_HIDDEN;
+    }
+
+  /* If the source from queue_dismissal is 0, then we already
+   * fired and we are hiding the titlebar.
+   */
+  if (priv->titlebar_hiding)
+    return DZL_TITLEBAR_ANIMATION_HIDING;
+
+  /* Titlebar currently visible */
+  if (gtk_revealer_get_reveal_child (priv->titlebar_revealer) &&
+      gtk_revealer_get_child_revealed (priv->titlebar_revealer))
+    return DZL_TITLEBAR_ANIMATION_SHOWN;
+
+  /* Working towards becoming visible */
+  if (gtk_revealer_get_reveal_child (priv->titlebar_revealer))
+    return DZL_TITLEBAR_ANIMATION_SHOWING;
+
+  return DZL_TITLEBAR_ANIMATION_HIDDEN;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/app/dzl-application-window.h 
new/libdazzle-3.38.0/src/app/dzl-application-window.h
--- old/libdazzle-3.36.0/src/app/dzl-application-window.h       2020-03-06 
21:17:59.528407600 +0100
+++ new/libdazzle-3.38.0/src/app/dzl-application-window.h       2020-09-12 
20:49:35.549795400 +0200
@@ -30,6 +30,14 @@
 DZL_AVAILABLE_IN_ALL
 G_DECLARE_DERIVABLE_TYPE (DzlApplicationWindow, dzl_application_window, DZL, 
APPLICATION_WINDOW, GtkApplicationWindow)
 
+typedef enum
+{
+  DZL_TITLEBAR_ANIMATION_HIDDEN  = 0,
+  DZL_TITLEBAR_ANIMATION_SHOWING = 1,
+  DZL_TITLEBAR_ANIMATION_SHOWN   = 2,
+  DZL_TITLEBAR_ANIMATION_HIDING  = 3,
+} DzlTitlebarAnimation;
+
 struct _DzlApplicationWindowClass
 {
   GtkApplicationWindowClass parent_class;
@@ -49,15 +57,17 @@
 };
 
 DZL_AVAILABLE_IN_ALL
-gboolean   dzl_application_window_get_fullscreen (DzlApplicationWindow *self);
+gboolean              dzl_application_window_get_fullscreen         
(DzlApplicationWindow *self);
 DZL_AVAILABLE_IN_ALL
-void       dzl_application_window_set_fullscreen (DzlApplicationWindow *self,
-                                                  gboolean              
fullscreen);
+void                  dzl_application_window_set_fullscreen         
(DzlApplicationWindow *self,
+                                                                     gboolean  
            fullscreen);
 DZL_AVAILABLE_IN_ALL
-GtkWidget *dzl_application_window_get_titlebar   (DzlApplicationWindow *self);
+GtkWidget            *dzl_application_window_get_titlebar           
(DzlApplicationWindow *self);
 DZL_AVAILABLE_IN_ALL
-void       dzl_application_window_set_titlebar   (DzlApplicationWindow *self,
-                                                  GtkWidget            
*titlebar);
+void                  dzl_application_window_set_titlebar           
(DzlApplicationWindow *self,
+                                                                     GtkWidget 
           *titlebar);
+DZL_AVAILABLE_IN_3_38
+DzlTitlebarAnimation  dzl_application_window_get_titlebar_animation 
(DzlApplicationWindow *self);
 
 G_END_DECLS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/app/meson.build 
new/libdazzle-3.38.0/src/app/meson.build
--- old/libdazzle-3.36.0/src/app/meson.build    2020-03-06 21:17:59.528407600 
+0100
+++ new/libdazzle-3.38.0/src/app/meson.build    2020-09-12 20:49:35.549795400 
+0200
@@ -8,6 +8,10 @@
   'dzl-application-window.c',
 ]
 
+dzl_enum_headers += files([
+  'dzl-application-window.h',
+])
+
 libdazzle_public_headers += files(app_headers)
 libdazzle_public_sources += files(app_sources)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/dzl-enums.c.in 
new/libdazzle-3.38.0/src/dzl-enums.c.in
--- old/libdazzle-3.36.0/src/dzl-enums.c.in     2020-03-06 21:17:59.530407700 
+0100
+++ new/libdazzle-3.38.0/src/dzl-enums.c.in     2020-09-12 20:49:35.551795200 
+0200
@@ -4,6 +4,7 @@
 
 #include "dzl-enums.h"
 
+#include "app/dzl-application-window.h"
 #include "files/dzl-file-transfer.h"
 #include "tree/dzl-tree-types.h"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/dzl-version-macros.h 
new/libdazzle-3.38.0/src/dzl-version-macros.h
--- old/libdazzle-3.36.0/src/dzl-version-macros.h       2020-03-06 
21:17:59.530407700 +0100
+++ new/libdazzle-3.38.0/src/dzl-version-macros.h       2020-09-12 
20:49:35.551795200 +0200
@@ -46,6 +46,7 @@
 #define DZL_VERSION_3_32 (G_ENCODE_VERSION (3, 32))
 #define DZL_VERSION_3_34 (G_ENCODE_VERSION (3, 34))
 #define DZL_VERSION_3_36 (G_ENCODE_VERSION (3, 36))
+#define DZL_VERSION_3_38 (G_ENCODE_VERSION (3, 38))
 
 #if (DZL_MINOR_VERSION == 99)
 # define DZL_VERSION_CUR_STABLE (G_ENCODE_VERSION (DZL_MAJOR_VERSION + 1, 0))
@@ -180,4 +181,10 @@
 # define DZL_AVAILABLE_IN_3_36                 _DZL_EXTERN
 #endif
 
+#if DZL_VERSION_MAX_ALLOWED < DZL_VERSION_3_38
+# define DZL_AVAILABLE_IN_3_38                 DZL_UNAVAILABLE(3, 38)
+#else
+# define DZL_AVAILABLE_IN_3_38                 _DZL_EXTERN
+#endif
+
 #endif /* DZL_VERSION_MACROS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/theming/dzl-theme-manager.c 
new/libdazzle-3.38.0/src/theming/dzl-theme-manager.c
--- old/libdazzle-3.36.0/src/theming/dzl-theme-manager.c        2020-03-06 
21:17:59.548407600 +0100
+++ new/libdazzle-3.38.0/src/theming/dzl-theme-manager.c        2020-09-12 
20:49:35.563795300 +0200
@@ -131,9 +131,15 @@
     {
       provider = dzl_css_provider_new (css_dir);
       g_hash_table_insert (self->providers_by_path, g_strdup (resource_path), 
g_object_ref (provider));
+
+      /* Use APPLICATION+1 to place ourselves higher than libraries that
+       * incorrectly use APPLICATION as their priority. This allows the
+       * application (whose themes we'll be loading) to have higher
+       * priorities than libraries like VTE.
+       */
       gtk_style_context_add_provider_for_screen (gdk_screen_get_default (),
                                                  GTK_STYLE_PROVIDER (provider),
-                                                 
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+                                                 
GTK_STYLE_PROVIDER_PRIORITY_APPLICATION+1);
     }
 
   /*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/util/dzl-counter.c 
new/libdazzle-3.38.0/src/util/dzl-counter.c
--- old/libdazzle-3.36.0/src/util/dzl-counter.c 2020-03-06 21:17:59.549407500 
+0100
+++ new/libdazzle-3.38.0/src/util/dzl-counter.c 2020-09-12 20:49:35.565795400 
+0200
@@ -52,7 +52,11 @@
 #define CELLS_PER_GROUP(ncpu)                             \
   (((sizeof (CounterInfo) * COUNTERS_PER_GROUP) +         \
     (sizeof(DzlCounterValue) * (ncpu))) / DATA_CELL_SIZE)
-#define DZL_MEMORY_BARRIER __sync_synchronize()
+#ifdef DZL_COUNTER_REQUIRES_ATOMIC
+#define DZL_MEMORY_BARRIER G_STMT_START { __sync_synchronize(); } G_STMT_END
+#else
+#define DZL_MEMORY_BARRIER G_STMT_START {} G_STMT_END
+#endif
 
 typedef struct
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/util/dzl-counter.h 
new/libdazzle-3.38.0/src/util/dzl-counter.h
--- old/libdazzle-3.36.0/src/util/dzl-counter.h 2020-03-06 21:17:59.549407500 
+0100
+++ new/libdazzle-3.38.0/src/util/dzl-counter.h 2020-09-12 20:49:35.565795400 
+0200
@@ -163,6 +163,9 @@
 # define dzl_get_current_cpu() dzl_get_current_cpu_rdtscp()
 #elif defined(__linux__)
 # define dzl_get_current_cpu() dzl_get_current_cpu_call()
+#elif defined(__powerpc__) && !defined(__powerpc64__)
+# define dzl_get_current_cpu() 0
+# undef DZL_COUNTER_REQUIRES_ATOMIC
 #else
 # define dzl_get_current_cpu() 0
 # define DZL_COUNTER_REQUIRES_ATOMIC 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/util/dzl-file-manager.c 
new/libdazzle-3.38.0/src/util/dzl-file-manager.c
--- old/libdazzle-3.36.0/src/util/dzl-file-manager.c    2020-03-06 
21:17:59.550407600 +0100
+++ new/libdazzle-3.38.0/src/util/dzl-file-manager.c    2020-09-12 
20:49:35.565795400 +0200
@@ -2,6 +2,7 @@
  *
  * Copyright (C) 1995-2017 GIMP Authors
  * Copyright (C) 2015-2017 Christian Hergert <[email protected]>
+ * Copyright (C) 2020      Germán Poo-Caamaño <[email protected]>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -39,6 +40,25 @@
 
 #include "util/dzl-file-manager.h"
 
+#if !(defined(G_OS_WIN32) || defined(PLATFORM_OSX))
+static void
+show_items_cb (GObject      *source_object,
+               GAsyncResult *result,
+               gpointer      user_data)
+{
+  GDBusProxy *proxy = (GDBusProxy *)source_object;
+  g_autoptr(GVariant) reply = NULL;
+  g_autoptr(GError) error = NULL;
+
+  g_assert (G_IS_DBUS_PROXY (proxy));
+  g_assert (G_IS_ASYNC_RESULT (result));
+  g_assert (user_data == NULL);
+
+  if (!(reply = g_dbus_proxy_call_finish (proxy, result, &error)))
+    g_warning ("Failed to show items: %s", error->message);
+}
+#endif /* !(defined(G_OS_WIN32) || defined(PLATFORM_OSX)) */
+
 /* Copied from the GIMP */
 gboolean
 dzl_file_manager_show (GFile   *file,
@@ -143,51 +163,35 @@
 #else /* UNIX */
 
   {
-    GDBusProxy      *proxy;
-    GVariant        *retval;
-    GVariantBuilder *builder;
-    gchar           *uri;
+    g_autofree gchar *uri = g_file_get_uri (file);
+    g_autoptr(GVariantBuilder) builder = NULL;
+    g_autoptr(GDBusProxy) proxy = NULL;
 
     proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SESSION,
-                                           G_DBUS_PROXY_FLAGS_NONE,
+                                           
(G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES |
+                                            
G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS |
+                                            
G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START_AT_CONSTRUCTION),
                                            NULL,
                                            "org.freedesktop.FileManager1",
                                            "/org/freedesktop/FileManager1",
                                            "org.freedesktop.FileManager1",
-                                           NULL, error);
-
-    if (!proxy)
-      {
-        g_prefix_error (error,
-                        _("Connecting to org.freedesktop.FileManager1 failed: 
"));
-        return FALSE;
-      }
+                                           NULL,
+                                           error);
 
-    uri = g_file_get_uri (file);
+    /* Implausible */
+    if (proxy == NULL)
+      return FALSE;
 
     builder = g_variant_builder_new (G_VARIANT_TYPE ("as"));
     g_variant_builder_add (builder, "s", uri);
-
-    g_free (uri);
-
-    retval = g_dbus_proxy_call_sync (proxy,
-                                     "ShowItems",
-                                     g_variant_new ("(ass)",
-                                                    builder,
-                                                    ""),
-                                     G_DBUS_CALL_FLAGS_NONE,
-                                     -1, NULL, error);
-
-    g_variant_builder_unref (builder);
-    g_object_unref (proxy);
-
-    if (!retval)
-      {
-        g_prefix_error (error, _("Calling ShowItems failed: "));
-        return FALSE;
-      }
-
-    g_variant_unref (retval);
+    g_dbus_proxy_call (proxy,
+                       "ShowItems",
+                       g_variant_new ("(ass)", builder, ""),
+                       G_DBUS_CALL_FLAGS_NONE,
+                       -1,
+                       NULL,
+                       show_items_cb,
+                       NULL);
 
     return TRUE;
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/util/dzl-int-pair.h 
new/libdazzle-3.38.0/src/util/dzl-int-pair.h
--- old/libdazzle-3.36.0/src/util/dzl-int-pair.h        2020-03-06 
21:17:59.550407600 +0100
+++ new/libdazzle-3.38.0/src/util/dzl-int-pair.h        2020-09-12 
20:49:35.566795300 +0200
@@ -87,7 +87,7 @@
   pair.second = second;
 
 #ifdef DZL_INT_PAIR_64
-  return pair.ptr;
+  return (DzlIntPair *)pair.ptr;
 #else
   return g_slice_copy (sizeof (DzlIntPair), &pair);
 #endif
@@ -110,7 +110,7 @@
   pair.second = second;
 
 #ifdef DZL_INT_PAIR_64
-  return pair.ptr;
+  return (DzlUIntPair *)pair.ptr;
 #else
   return g_slice_copy (sizeof (DzlUIntPair), &pair);
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libdazzle-3.36.0/src/util/dzl-macros.h 
new/libdazzle-3.38.0/src/util/dzl-macros.h
--- old/libdazzle-3.36.0/src/util/dzl-macros.h  2020-03-06 21:17:59.550407600 
+0100
+++ new/libdazzle-3.38.0/src/util/dzl-macros.h  2020-09-12 20:49:35.566795300 
+0200
@@ -94,7 +94,7 @@
 {
   /* We use gconstpointer so that we can allow
    * both signed and unsigned chars here (such as xmlChar). */
-  return g_strcmp0 (str1, str2) == 0;
+  return g_strcmp0 ((const gchar *)str1, (const gchar *)str2) == 0;
 }
 
 static inline void
_______________________________________________
openSUSE Commits mailing list -- [email protected]
To unsubscribe, email [email protected]
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/[email protected]

Reply via email to