summaryrefslogtreecommitdiff
path: root/pcr/lxdm-consolekit/git-fixes.patch
blob: ee4f2147dd42072bcefe1bd8b496a7e2424f91e9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
diff --git a/data/themes/Industrial/gtk.css b/data/themes/Industrial/gtk.css
index 179f0d6..f8e6432 100644
--- a/data/themes/Industrial/gtk.css
+++ b/data/themes/Industrial/gtk.css
@@ -17,6 +17,7 @@
 	color: #000000;
 }
 
+#bottom_pane label,
 #bottom_pane GtkLabel {
 	font: Sans 12;
 	color: #9E9D9B;
diff --git a/src/greeter-gdk.c b/src/greeter-gdk.c
index 1abbefa..ad3267a 100644
--- a/src/greeter-gdk.c
+++ b/src/greeter-gdk.c
@@ -22,6 +22,7 @@
 
 #define XLIB_ILLEGAL_ACCESS
 
+#include <gtk/gtk.h>
 #include <gdk/gdk.h>
 #include <gdk/gdkx.h>
 #include <gdk/gdkkeysyms.h>
@@ -88,12 +89,14 @@ static void on_ui_expose(void)
 	}
 	
 	cr=gdk_cairo_create(win);
+#if GTK_CHECK_VERSION(3,0,0)
 	cairo_pattern_t *pattern=gdk_window_get_background_pattern(win);
 	if(pattern)
 	{
 		cairo_set_source(cr,pattern);
 		cairo_paint(cr);
 	}
+#endif
 
 	gdk_cairo_set_source_color(cr, &bg);
 	cairo_rectangle(cr, rc.x, rc.y, rc.width, rc.height);
diff --git a/src/greeter.c b/src/greeter.c
index 10b7f3f..03503b6 100644
--- a/src/greeter.c
+++ b/src/greeter.c
@@ -146,7 +146,7 @@ static void switch_to_input_user(void)
 		if(user_list_scrolled)
 			gtk_widget_show(user_list_scrolled);
 		else
-			gtk_widget_hide(user_list);
+			gtk_widget_show(user_list);
 		gtk_widget_grab_focus(user_list);
 	}
 	else
diff --git a/src/lxdm.c b/src/lxdm.c
index a37f051..722936f 100644
--- a/src/lxdm.c
+++ b/src/lxdm.c
@@ -488,6 +490,9 @@ static char *lxsession_xserver_command(LXSession *s)
 	{
 		arg[arc++] = g_strdup("-nolisten");
 		arg[arc++] = g_strdup("tcp");
+	} else {
+		arg[arc++] = g_strdup("-listen");
+		arg[arc++] = g_strdup("tcp");
 	}
 	if(!novtswitch)
 	{
@@ -750,7 +755,13 @@ static char ** create_client_auth(struct passwd *pw,char **env)
 	if(xauth_write_file(authfile,s->display,s->mcookie)==-1)
 	{
 		g_free(authfile);
-		authfile = g_strdup_printf("/var/run/lxdm/.Xauth%d",pw->pw_uid);
+
+		gchar *authdir = g_strdup_printf("/var/run/lxdm/%d", pw->pw_uid);
+		g_mkdir_with_parents(authdir, S_IRWXU);
+		chown(authdir, pw->pw_uid, pw->pw_gid);
+
+		authfile = g_strdup_printf("%s/.Xauthority", authdir);
+		g_free(authdir);
 		remove(authfile);
 		xauth_write_file(authfile,s->display,s->mcookie);
 	}
@@ -956,6 +967,11 @@ static void on_xserver_stop(void *data,int pid, int status)
 		s->dpy=NULL;
 		ui_drop();
 		lxdm_startx(s);
+		#ifndef DISABLE_XAUTH
+		char temp[256];
+		sprintf(temp,"/var/run/lxdm/lxdm-:%d.auth",s->display);
+		setenv("XAUTHORITY",temp,1);
+		#endif
 		ui_prepare();
 		lxsession_set_active(s);
 	}