Gentoo Archives: gentoo-commits

From: "Fabio Erculiani (lxnay)" <lxnay@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in lxde-base/lxdm/files: lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
Date: Sun, 03 Jul 2011 10:02:40
Message-Id: 20110703100230.28F2920051@flycatcher.gentoo.org
1 lxnay 11/07/03 10:02:30
2
3 Added:
4 lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
5 Log:
6 add patch that fixes loading of Fluxbox, E17, Openbox and perhaps others, see http://lxnay.wordpress.com/2011/07/03/lxdm-the-wannabe-login-manager for more details
7
8 (Portage version: 2.2.0_alpha37/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.1 lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch?rev=1.1&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/lxde-base/lxdm/files/lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch?rev=1.1&content-type=text/plain
15
16 Index: lxdm-0.3.0-properly-load-session-settings-using-dmrc-entry-as-pointer-for-xsessions-dir-file.patch
17 ===================================================================
18 diff -Nurp lxdm-0.3.0.orig/src/lxdm.c lxdm-0.3.0/src/lxdm.c
19 --- lxdm-0.3.0.orig/src/lxdm.c 2011-07-03 01:53:26.262780480 +0200
20 +++ lxdm-0.3.0/src/lxdm.c 2011-07-03 01:52:11.975780526 +0200
21 @@ -1174,7 +1174,27 @@ gboolean lxdm_get_session_info(char *ses
22 }
23 else
24 {
25 - name=g_strdup(session);
26 + GKeyFile *f;
27 + char *file_path;
28 + gboolean loaded;
29 +
30 + f = g_key_file_new();
31 + char *desktop_name = g_strconcat(session, ".desktop", NULL);
32 + file_path = g_build_filename(XSESSIONS_DIR, desktop_name, NULL);
33 + loaded = g_key_file_load_from_file(f, file_path, G_KEY_FILE_NONE, NULL);
34 + g_free(file_path);
35 + g_free(desktop_name);
36 +
37 + if ( loaded )
38 + {
39 + name = g_key_file_get_locale_string(f, "Desktop Entry", "Name", NULL, NULL);
40 + exec = g_key_file_get_string(f, "Desktop Entry", "Exec", NULL);
41 + }
42 + else
43 + {
44 + name=g_strdup(session);
45 + }
46 + g_key_file_free(f);
47 }
48 }
49 if(name && !exec)