Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gnome-remote-desktop for 
openSUSE:Factory checked in at 2022-08-09 15:28:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-remote-desktop (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-remote-desktop.new.1521 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-remote-desktop"

Tue Aug  9 15:28:06 2022 rev:12 rq:993952 version:42.4

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gnome-remote-desktop/gnome-remote-desktop.changes    
    2022-07-04 11:49:12.097211869 +0200
+++ 
/work/SRC/openSUSE:Factory/.gnome-remote-desktop.new.1521/gnome-remote-desktop.changes
      2022-08-09 15:28:40.829681437 +0200
@@ -1,0 +2,24 @@
+Mon Aug 08 09:27:42 UTC 2022 - bjorn....@gmail.com
+
+- Update to version 42.4:
+  + ctl:
+    - Do not crash, when deleting non-existent credentials
+    - Fix error messages
+  + rdp: Don't dereference NULL pointer when parent dir cannot be
+    found
+  + rdp-gfx-surface: Delete GFX surface before clearing its members
+  + rdp-graphics-pipeline: Extend comment with documentation
+    reference
+  + rdp/nw-auto: Disallow unqueued bandwidth measure stops
+  + rdp/rdpgfx: Only clear unacked frames when surface has frame
+    controller
+  + session-rdp:
+    - Do not crash, when credentials are not set
+    - Stop leaking session sources when session creation fails
+    - Stop leaking the event queue, when session creation fails
+  + session-vnc: Do not crash, when password is not set
+  + settings: Do not set error twice when
+    secret_password_lookup_sync fails
+  + tests/egl: Replace tautologies with actual modifier checks
+
+-------------------------------------------------------------------

Old:
----
  gnome-remote-desktop-42.3.obscpio

New:
----
  gnome-remote-desktop-42.4.obscpio

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

Other differences:
------------------
++++++ gnome-remote-desktop.spec ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old  2022-08-09 15:28:41.261682671 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new  2022-08-09 15:28:41.265682683 +0200
@@ -21,7 +21,7 @@
 %define freerdp_version 2.2.0
 
 Name:           gnome-remote-desktop
-Version:        42.3
+Version:        42.4
 Release:        0
 Summary:        GNOME Remote Desktop screen sharing service
 License:        GPL-2.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old  2022-08-09 15:28:41.301682785 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new  2022-08-09 15:28:41.305682797 +0200
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="disabled">
     <param 
name="url">https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git</param>
     <param name="scm">git</param>
-    <param name="revision">refs/tags/42.3</param>
+    <param name="revision">refs/tags/42.4</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
   </service>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old  2022-08-09 15:28:41.325682854 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new  2022-08-09 15:28:41.329682866 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://gitlab.gnome.org/GNOME/gnome-remote-desktop.git</param>
-              <param 
name="changesrevision">73b9f00b31bc462de42e94054121052a106df521</param></service></servicedata>
+              <param 
name="changesrevision">ee8f1591e72cfb9ca9c243d6e1f16008f3c08fa0</param></service></servicedata>
 (No newline at EOF)
 

++++++ gnome-remote-desktop-42.3.obscpio -> gnome-remote-desktop-42.4.obscpio 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/meson.build 
new/gnome-remote-desktop-42.4/meson.build
--- old/gnome-remote-desktop-42.3/meson.build   2022-07-03 16:13:18.000000000 
+0200
+++ new/gnome-remote-desktop-42.4/meson.build   2022-08-06 23:18:12.000000000 
+0200
@@ -1,5 +1,5 @@
 project('gnome-remote-desktop', 'c',
-        version: '42.3',
+        version: '42.4',
         meson_version: '>= 0.47.0',
         default_options: ['warning_level=1',
                           'buildtype=debugoptimized'])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-ctl.c 
new/gnome-remote-desktop-42.4/src/grd-ctl.c
--- old/gnome-remote-desktop-42.3/src/grd-ctl.c 2022-07-03 16:13:18.000000000 
+0200
+++ new/gnome-remote-desktop-42.4/src/grd-ctl.c 2022-08-06 23:18:12.000000000 
+0200
@@ -117,9 +117,20 @@
 static gboolean
 grd_clear_rdp_credentials (GError **error)
 {
-  return secret_password_clear_sync (GRD_RDP_CREDENTIALS_SCHEMA,
-                                     NULL, error,
-                                     NULL);
+  g_autoptr (GError) local_error = NULL;
+
+  secret_password_clear_sync (GRD_RDP_CREDENTIALS_SCHEMA,
+                              NULL, &local_error,
+                              NULL);
+  if (local_error)
+    {
+      g_propagate_error (error, g_steal_pointer (&local_error));
+      return FALSE;
+    }
+  else
+    {
+      return TRUE;
+    }
 }
 
 static gboolean
@@ -305,9 +316,20 @@
                        char   **argv,
                        GError **error)
 {
-  return secret_password_clear_sync (GRD_VNC_PASSWORD_SCHEMA,
-                                     NULL, error,
-                                     NULL);
+  g_autoptr (GError) local_error = NULL;
+
+  secret_password_clear_sync (GRD_VNC_PASSWORD_SCHEMA,
+                              NULL, &local_error,
+                              NULL);
+  if (local_error)
+    {
+      g_propagate_error (error, g_steal_pointer (&local_error));
+      return FALSE;
+    }
+  else
+    {
+      return TRUE;
+    }
 }
 
 static gboolean
@@ -482,7 +504,7 @@
                                                     NULL);
   if (error)
     {
-      fprintf (stderr, "Failed to lookup RDP credentials: %s", error->message);
+      fprintf (stderr, "Failed to lookup RDP credentials: %s\n", 
error->message);
       return;
     }
 
@@ -538,7 +560,7 @@
                                           NULL);
   if (error)
     {
-      fprintf (stderr, "Failed to lookup RDP credentials: %s", error->message);
+      fprintf (stderr, "Failed to lookup VNC credentials: %s\n", 
error->message);
       return;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.c 
new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.c     2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.c     2022-08-06 
23:18:12.000000000 +0200
@@ -101,6 +101,100 @@
 G_DEFINE_TYPE (GrdRdpEventQueue, grd_rdp_event_queue, G_TYPE_OBJECT)
 
 static void
+handle_synchronization_event (GrdRdpEventQueue *rdp_event_queue)
+{
+  GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
+  RdpSynchronizationEvent *rdp_sync_event;
+
+  rdp_sync_event = g_steal_pointer (&rdp_event_queue->rdp_sync_event);
+
+  if (rdp_sync_event->caps_lock_state != rdp_event_queue->caps_lock_state)
+    {
+      g_debug ("Synchronizing caps lock state to be %s",
+               rdp_sync_event->caps_lock_state ? "locked": "unlocked");
+
+      grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
+                                          GRD_KEY_STATE_PRESSED);
+      grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
+                                          GRD_KEY_STATE_RELEASED);
+
+      rdp_event_queue->pending_sync_caps_lock = TRUE;
+    }
+  if (rdp_sync_event->num_lock_state != rdp_event_queue->num_lock_state)
+    {
+      g_debug ("Synchronizing num lock state to be %s",
+               rdp_sync_event->num_lock_state ? "locked": "unlocked");
+
+      grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
+                                          GRD_KEY_STATE_PRESSED);
+      grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
+                                          GRD_KEY_STATE_RELEASED);
+
+      rdp_event_queue->pending_sync_num_lock = TRUE;
+    }
+
+  g_free (rdp_sync_event);
+}
+
+static void
+process_rdp_events (GrdRdpEventQueue *rdp_event_queue)
+{
+  GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
+  RdpEvent *rdp_event;
+
+  if (rdp_event_queue->rdp_sync_event &&
+      !rdp_event_queue->pending_sync_caps_lock &&
+      !rdp_event_queue->pending_sync_num_lock)
+    handle_synchronization_event (rdp_event_queue);
+
+  while ((rdp_event = g_queue_pop_head (rdp_event_queue->queue)))
+    {
+      switch (rdp_event->type)
+        {
+        case RDP_EVENT_TYPE_NONE:
+          break;
+        case RDP_EVENT_TYPE_INPUT_KBD_KEYCODE:
+          grd_session_notify_keyboard_keycode (
+            session, rdp_event->input_kbd_keycode.keycode,
+            rdp_event->input_kbd_keycode.state);
+          break;
+        case RDP_EVENT_TYPE_INPUT_KBD_KEYSYM:
+          grd_session_notify_keyboard_keysym (session,
+                                              
rdp_event->input_kbd_keysym.keysym,
+                                              
rdp_event->input_kbd_keysym.state);
+          break;
+        case RDP_EVENT_TYPE_INPUT_PTR_MOTION_ABS:
+          grd_session_notify_pointer_motion_absolute (
+            session, rdp_event->input_ptr_motion_abs.stream,
+            rdp_event->input_ptr_motion_abs.x,
+            rdp_event->input_ptr_motion_abs.y);
+          break;
+        case RDP_EVENT_TYPE_INPUT_PTR_BUTTON:
+          grd_session_notify_pointer_button (session,
+                                             
rdp_event->input_ptr_button.button,
+                                             
rdp_event->input_ptr_button.state);
+          break;
+        case RDP_EVENT_TYPE_INPUT_PTR_AXIS:
+          grd_session_notify_pointer_axis (session,
+                                           rdp_event->input_ptr_axis.dx,
+                                           rdp_event->input_ptr_axis.dy,
+                                           rdp_event->input_ptr_axis.flags);
+          break;
+        }
+
+      g_free (rdp_event);
+    }
+}
+
+void
+grd_rdp_event_queue_flush (GrdRdpEventQueue *rdp_event_queue)
+{
+  g_mutex_lock (&rdp_event_queue->event_mutex);
+  process_rdp_events (rdp_event_queue);
+  g_mutex_unlock (&rdp_event_queue->event_mutex);
+}
+
+static void
 queue_rdp_event (GrdRdpEventQueue *rdp_event_queue,
                  RdpEvent         *rdp_event)
 {
@@ -235,92 +329,6 @@
   g_source_set_ready_time (rdp_event_queue->flush_source, 0);
 }
 
-static void
-handle_synchronization_event (GrdRdpEventQueue *rdp_event_queue)
-{
-  GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
-  RdpSynchronizationEvent *rdp_sync_event;
-
-  rdp_sync_event = g_steal_pointer (&rdp_event_queue->rdp_sync_event);
-
-  if (rdp_sync_event->caps_lock_state != rdp_event_queue->caps_lock_state)
-    {
-      g_debug ("Synchronizing caps lock state to be %s",
-               rdp_sync_event->caps_lock_state ? "locked": "unlocked");
-
-      grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
-                                          GRD_KEY_STATE_PRESSED);
-      grd_session_notify_keyboard_keysym (session, XKB_KEY_Caps_Lock,
-                                          GRD_KEY_STATE_RELEASED);
-
-      rdp_event_queue->pending_sync_caps_lock = TRUE;
-    }
-  if (rdp_sync_event->num_lock_state != rdp_event_queue->num_lock_state)
-    {
-      g_debug ("Synchronizing num lock state to be %s",
-               rdp_sync_event->num_lock_state ? "locked": "unlocked");
-
-      grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
-                                          GRD_KEY_STATE_PRESSED);
-      grd_session_notify_keyboard_keysym (session, XKB_KEY_Num_Lock,
-                                          GRD_KEY_STATE_RELEASED);
-
-      rdp_event_queue->pending_sync_num_lock = TRUE;
-    }
-
-  g_free (rdp_sync_event);
-}
-
-static void
-process_rdp_events (GrdRdpEventQueue *rdp_event_queue)
-{
-  GrdSession *session = GRD_SESSION (rdp_event_queue->session_rdp);
-  RdpEvent *rdp_event;
-
-  if (rdp_event_queue->rdp_sync_event &&
-      !rdp_event_queue->pending_sync_caps_lock &&
-      !rdp_event_queue->pending_sync_num_lock)
-    handle_synchronization_event (rdp_event_queue);
-
-  while ((rdp_event = g_queue_pop_head (rdp_event_queue->queue)))
-    {
-      switch (rdp_event->type)
-        {
-        case RDP_EVENT_TYPE_NONE:
-          break;
-        case RDP_EVENT_TYPE_INPUT_KBD_KEYCODE:
-          grd_session_notify_keyboard_keycode (
-            session, rdp_event->input_kbd_keycode.keycode,
-            rdp_event->input_kbd_keycode.state);
-          break;
-        case RDP_EVENT_TYPE_INPUT_KBD_KEYSYM:
-          grd_session_notify_keyboard_keysym (session,
-                                              
rdp_event->input_kbd_keysym.keysym,
-                                              
rdp_event->input_kbd_keysym.state);
-          break;
-        case RDP_EVENT_TYPE_INPUT_PTR_MOTION_ABS:
-          grd_session_notify_pointer_motion_absolute (
-            session, rdp_event->input_ptr_motion_abs.stream,
-            rdp_event->input_ptr_motion_abs.x,
-            rdp_event->input_ptr_motion_abs.y);
-          break;
-        case RDP_EVENT_TYPE_INPUT_PTR_BUTTON:
-          grd_session_notify_pointer_button (session,
-                                             
rdp_event->input_ptr_button.button,
-                                             
rdp_event->input_ptr_button.state);
-          break;
-        case RDP_EVENT_TYPE_INPUT_PTR_AXIS:
-          grd_session_notify_pointer_axis (session,
-                                           rdp_event->input_ptr_axis.dx,
-                                           rdp_event->input_ptr_axis.dy,
-                                           rdp_event->input_ptr_axis.flags);
-          break;
-        }
-
-      g_free (rdp_event);
-    }
-}
-
 static gboolean
 flush_rdp_events (gpointer user_data)
 {
@@ -379,11 +387,6 @@
 {
   GrdRdpEventQueue *rdp_event_queue = GRD_RDP_EVENT_QUEUE (object);
 
-  /**
-   * Process all events to ensure that remaining keysym-released events are 
sent
-   */
-  process_rdp_events (rdp_event_queue);
-
   g_clear_pointer (&rdp_event_queue->rdp_sync_event, g_free);
   g_queue_free_full (rdp_event_queue->queue, free_rdp_event);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.h 
new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.h
--- old/gnome-remote-desktop-42.3/src/grd-rdp-event-queue.h     2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-event-queue.h     2022-08-06 
23:18:12.000000000 +0200
@@ -32,6 +32,8 @@
 
 GrdRdpEventQueue *grd_rdp_event_queue_new (GrdSessionRdp *session_rdp);
 
+void grd_rdp_event_queue_flush (GrdRdpEventQueue *rdp_event_queue);
+
 void grd_rdp_event_queue_add_input_event_keyboard_keycode (GrdRdpEventQueue 
*rdp_event_queue,
                                                            uint32_t          
keycode,
                                                            GrdKeyState       
state);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-remote-desktop-42.3/src/grd-rdp-fuse-clipboard.c 
new/gnome-remote-desktop-42.4/src/grd-rdp-fuse-clipboard.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-fuse-clipboard.c  2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-fuse-clipboard.c  2022-08-06 
23:18:12.000000000 +0200
@@ -635,8 +635,7 @@
           g_warning ("[RDP.CLIPRDR] Failed to convert filename. Aborting "
                      "SelectionTransfer");
           clear_entry_selection (rdp_fuse_clipboard, entry);
-
-          g_free (fuse_file);
+          fuse_file_free (fuse_file);
 
           return FALSE;
         }
@@ -653,6 +652,16 @@
 
       parent = get_parent_directory (rdp_fuse_clipboard,
                                      fuse_file->filename_with_root);
+      if (!parent)
+        {
+          g_warning ("[RDP.CLIPRDR] Failed to find parent directory. Aborting "
+                     "SelectionTransfer");
+          clear_entry_selection (rdp_fuse_clipboard, entry);
+          fuse_file_free (fuse_file);
+
+          return FALSE;
+        }
+
       parent->children = g_list_append (parent->children, fuse_file);
       fuse_file->parent = parent;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-rdp-gfx-surface.c 
new/gnome-remote-desktop-42.4/src/grd-rdp-gfx-surface.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-gfx-surface.c     2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-gfx-surface.c     2022-08-06 
23:18:12.000000000 +0200
@@ -162,9 +162,6 @@
 {
   GrdRdpGfxSurface *gfx_surface = GRD_RDP_GFX_SURFACE (object);
 
-  g_clear_object (&gfx_surface->frame_controller);
-  g_clear_object (&gfx_surface->render_surface);
-
   if (gfx_surface->created)
     {
       grd_rdp_graphics_pipeline_delete_surface (gfx_surface->graphics_pipeline,
@@ -172,6 +169,9 @@
       gfx_surface->created = FALSE;
     }
 
+  g_clear_object (&gfx_surface->frame_controller);
+  g_clear_object (&gfx_surface->render_surface);
+
   G_OBJECT_CLASS (grd_rdp_gfx_surface_parent_class)->dispose (object);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-remote-desktop-42.3/src/grd-rdp-graphics-pipeline.c 
new/gnome-remote-desktop-42.4/src/grd-rdp-graphics-pipeline.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-graphics-pipeline.c       
2022-07-03 16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-graphics-pipeline.c       
2022-08-06 23:18:12.000000000 +0200
@@ -90,7 +90,7 @@
   GHashTable *surface_table;
   GHashTable *codec_context_table;
 
-  /* Unacknowledged Frames ADM element */
+  /* Unacknowledged Frames ADM element ([MS-RDPEGFX] 3.2.1.2) */
   GHashTable *frame_serial_table;
 
   GHashTable *serial_surface_table;
@@ -1292,6 +1292,9 @@
   GrdRdpGfxFrameController *frame_controller =
     grd_rdp_gfx_surface_get_frame_controller (gfx_surface);
 
+  if (!frame_controller)
+    return;
+
   grd_rdp_gfx_frame_controller_clear_all_unacked_frames (frame_controller);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gnome-remote-desktop-42.3/src/grd-rdp-network-autodetection.c 
new/gnome-remote-desktop-42.4/src/grd-rdp-network-autodetection.c
--- old/gnome-remote-desktop-42.3/src/grd-rdp-network-autodetection.c   
2022-07-03 16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-rdp-network-autodetection.c   
2022-08-06 23:18:12.000000000 +0200
@@ -308,8 +308,7 @@
   locker = g_mutex_locker_new (&network_autodetection->bw_measure_mutex);
   ResetEvent (network_autodetection->bw_measure_stop_event);
 
-  if (network_autodetection->bw_measure_state != BW_MEASURE_STATE_PENDING_STOP 
&&
-      network_autodetection->bw_measure_state != BW_MEASURE_STATE_QUEUED_STOP)
+  if (network_autodetection->bw_measure_state != BW_MEASURE_STATE_QUEUED_STOP)
     return;
 
   network_autodetection->bw_measure_state = BW_MEASURE_STATE_PENDING_RESULTS;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-session-rdp.c 
new/gnome-remote-desktop-42.4/src/grd-session-rdp.c
--- old/gnome-remote-desktop-42.3/src/grd-session-rdp.c 2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-session-rdp.c 2022-08-06 
23:18:12.000000000 +0200
@@ -2138,13 +2138,21 @@
   username = grd_settings_get_rdp_username (settings, &error);
   if (!username)
     {
-      g_warning ("Couldn't retrieve RDP username: %s", error->message);
+      if (error)
+        g_warning ("[RDP] Couldn't retrieve RDP username: %s", error->message);
+      else
+        g_message ("[RDP] Username is not set, denying client");
+
       return NULL;
     }
   password = grd_settings_get_rdp_password (settings, &error);
   if (!password)
     {
-      g_warning ("Couldn't retrieve RDP password: %s", error->message);
+      if (error)
+        g_warning ("[RDP] Couldn't retrieve RDP password: %s", error->message);
+      else
+        g_message ("[RDP] Password is not set, denying client");
+
       g_free (username);
       return NULL;
     }
@@ -2180,6 +2188,21 @@
   return g_steal_pointer (&session_rdp);
 }
 
+static void
+clear_session_sources (GrdSessionRdp *session_rdp)
+{
+  if (session_rdp->update_monitor_layout_source)
+    {
+      g_source_destroy (session_rdp->update_monitor_layout_source);
+      g_clear_pointer (&session_rdp->update_monitor_layout_source, 
g_source_unref);
+    }
+  if (session_rdp->pending_encode_source)
+    {
+      g_source_destroy (session_rdp->pending_encode_source);
+      g_clear_pointer (&session_rdp->pending_encode_source, g_source_unref);
+    }
+}
+
 static gboolean
 clear_pointer_bitmap (gpointer key,
                       gpointer value,
@@ -2239,12 +2262,7 @@
   g_clear_object (&rdp_peer_context->graphics_pipeline);
 
   g_clear_pointer (&session_rdp->socket_thread, g_thread_join);
-
-  if (session_rdp->update_monitor_layout_source)
-    {
-      g_source_destroy (session_rdp->update_monitor_layout_source);
-      g_clear_pointer (&session_rdp->update_monitor_layout_source, 
g_source_unref);
-    }
+  clear_session_sources (session_rdp);
 
   peer->Close (peer);
   g_clear_object (&session_rdp->connection);
@@ -2266,7 +2284,7 @@
   g_hash_table_foreach_remove (session_rdp->pressed_unicode_keys,
                                notify_keysym_released,
                                session_rdp);
-  g_clear_object (&session_rdp->rdp_event_queue);
+  grd_rdp_event_queue_flush (session_rdp->rdp_event_queue);
 
   g_clear_pointer (&session_rdp->rdp_surface, grd_rdp_surface_free);
   g_clear_pointer (&session_rdp->monitor_config, grd_rdp_monitor_config_free);
@@ -2417,15 +2435,13 @@
 {
   GrdSessionRdp *session_rdp = GRD_SESSION_RDP (object);
 
-  if (session_rdp->pending_encode_source)
-    {
-      g_source_destroy (session_rdp->pending_encode_source);
-      g_clear_pointer (&session_rdp->pending_encode_source, g_source_unref);
-    }
+  clear_session_sources (session_rdp);
 
   g_assert (!session_rdp->graphics_thread);
   g_clear_pointer (&session_rdp->graphics_context, g_main_context_unref);
 
+  g_clear_object (&session_rdp->rdp_event_queue);
+
   g_clear_pointer (&session_rdp->pressed_unicode_keys, g_hash_table_unref);
   g_clear_pointer (&session_rdp->pressed_keys, g_hash_table_unref);
   g_clear_pointer (&session_rdp->pointer_cache, g_hash_table_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-session-vnc.c 
new/gnome-remote-desktop-42.4/src/grd-session-vnc.c
--- old/gnome-remote-desktop-42.3/src/grd-session-vnc.c 2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-session-vnc.c 2022-08-06 
23:18:12.000000000 +0200
@@ -518,7 +518,11 @@
   password = grd_settings_get_vnc_password (settings, &error);
   if (!password)
     {
-      g_warning ("Couldn't retrieve VNC password: %s", error->message);
+      if (error)
+        g_warning ("[VNC] Couldn't retrieve VNC password: %s", error->message);
+      else
+        g_message ("[VNC] Password is not set, denying client");
+
       return FALSE;
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/src/grd-settings.c 
new/gnome-remote-desktop-42.4/src/grd-settings.c
--- old/gnome-remote-desktop-42.3/src/grd-settings.c    2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/src/grd-settings.c    2022-08-06 
23:18:12.000000000 +0200
@@ -135,11 +135,7 @@
                                                     NULL, error,
                                                     NULL);
   if (!credentials_string)
-    {
-      g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
-                   "Credentials not set");
-      return NULL;
-    }
+    return NULL;
 
   credentials = g_variant_parse (NULL, credentials_string, NULL, NULL, NULL);
   if (!credentials)
@@ -177,11 +173,7 @@
                                                     NULL, error,
                                                     NULL);
   if (!credentials_string)
-    {
-      g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
-                   "Credentials not set");
-      return NULL;
-    }
+    return NULL;
 
   credentials = g_variant_parse (NULL, credentials_string, NULL, NULL, NULL);
   if (!credentials)
@@ -217,11 +209,7 @@
                                           NULL, error,
                                           NULL);
   if (!password)
-    {
-      g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND,
-                   "Password not set");
-      return NULL;
-    }
+    return NULL;
 
   return password;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gnome-remote-desktop-42.3/tests/egl-thread-test.c 
new/gnome-remote-desktop-42.4/tests/egl-thread-test.c
--- old/gnome-remote-desktop-42.3/tests/egl-thread-test.c       2022-07-03 
16:13:18.000000000 +0200
+++ new/gnome-remote-desktop-42.4/tests/egl-thread-test.c       2022-08-06 
23:18:12.000000000 +0200
@@ -21,6 +21,7 @@
 
 #include "config.h"
 
+#include <drm_fourcc.h>
 #include <epoxy/egl.h>
 #include <epoxy/gl.h>
 #include <fcntl.h>
@@ -95,7 +96,7 @@
       attribs[atti++] = dma_buf->offsets[0];
       attribs[atti++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
       attribs[atti++] = dma_buf->strides[0];
-      if (dma_buf->modifiers)
+      if (dma_buf->modifiers[0] != DRM_FORMAT_MOD_INVALID)
         {
           attribs[atti++] = EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT;
           attribs[atti++] = dma_buf->modifiers[0] & 0xFFFFFFFF;
@@ -112,7 +113,7 @@
       attribs[atti++] = dma_buf->offsets[1];
       attribs[atti++] = EGL_DMA_BUF_PLANE1_PITCH_EXT;
       attribs[atti++] = dma_buf->strides[1];
-      if (dma_buf->modifiers)
+      if (dma_buf->modifiers[1] != DRM_FORMAT_MOD_INVALID)
         {
           attribs[atti++] = EGL_DMA_BUF_PLANE1_MODIFIER_LO_EXT;
           attribs[atti++] = dma_buf->modifiers[1] & 0xFFFFFFFF;
@@ -129,7 +130,7 @@
       attribs[atti++] = dma_buf->offsets[2];
       attribs[atti++] = EGL_DMA_BUF_PLANE2_PITCH_EXT;
       attribs[atti++] = dma_buf->strides[2];
-      if (dma_buf->modifiers)
+      if (dma_buf->modifiers[2] != DRM_FORMAT_MOD_INVALID)
         {
           attribs[atti++] = EGL_DMA_BUF_PLANE2_MODIFIER_LO_EXT;
           attribs[atti++] = dma_buf->modifiers[2] & 0xFFFFFFFF;

++++++ gnome-remote-desktop.obsinfo ++++++
--- /var/tmp/diff_new_pack.aqUkcd/_old  2022-08-09 15:28:41.505683369 +0200
+++ /var/tmp/diff_new_pack.aqUkcd/_new  2022-08-09 15:28:41.509683380 +0200
@@ -1,5 +1,5 @@
 name: gnome-remote-desktop
-version: 42.3
-mtime: 1656857598
-commit: 73b9f00b31bc462de42e94054121052a106df521
+version: 42.4
+mtime: 1659820692
+commit: ee8f1591e72cfb9ca9c243d6e1f16008f3c08fa0
 

Reply via email to