Something like

@@ -576,9 +582,15 @@
                                 continue;
                         }
 
+                        g_debug ("considering %s", base_name);
                         if (get_session_command_for_file (self, base_name, 
NULL)) {
-
-                                g_sequence_insert_sorted (sessions, g_strdup 
(base_name), (GCompareDataFunc) g_strcmp0, NULL);
+                                g_debug ("yes, adding");
+                                name = g_strndup (base_name,
+                                                  strlen (base_name) -
+                                                  strlen (".desktop"));
+                                g_sequence_insert_sorted (sessions, name, 
(GCompareDataFunc) g_strcmp0, NULL);
+                        } else {
+                                g_debug ("no, not adding");
                         }
                 } while (base_name != NULL);
 
@@ -589,25 +601,22 @@
         name = NULL;
         session = g_sequence_get_begin_iter (sessions);
 
+        g_debug ("iterating the GSequence");
+
         if (g_sequence_iter_is_end (session))
                 g_error ("GdmSession: no session desktop files installed, 
aborting...");
 
         do {
                if (g_sequence_get (session)) {
-                       char *base_name;
-
-                       g_free (name);
-                       base_name = g_sequence_get (session);
-                       name = g_strndup (base_name,
-                                         strlen (base_name) -
-                                         strlen (".desktop"));
-
+                       name = g_sequence_get (session);
+                       g_debug ("iter: looking at %s", name);
                        break;
                }
                session = g_sequence_iter_next (session);
         } while (!g_sequence_iter_is_end (session));
 
         g_free (self->priv->fallback_session_name);
+        g_debug ("setting fallback_session_name to: %s", name);
         self->priv->fallback_session_name = name;
 
         g_sequence_free (sessions);

makes it start the ubuntu (wayland) session, but then GDM is constantly
restarting in a loop. Could just be some weirdness in my VM, looking.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gnome-session in Ubuntu.
https://bugs.launchpad.net/bugs/1705157

Title:
  "Ubuntu" and "Ubuntu on Xorg" randomly start the same session (maybe
  Wayland maybe Xorg)

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-session/+bug/1705157/+subscriptions

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to