aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormallum <mallum@b067294f-1dea-0310-9683-c47a78595994>2006-08-17 16:26:47 +0000
committermallum <mallum@b067294f-1dea-0310-9683-c47a78595994>2006-08-17 16:26:47 +0000
commita63db47dff186a538f83cfef9dbb33c23befdd9c (patch)
tree45d8966a0f96e60a5d229f8541ac604c2445f9d8
parent0f6fdf15f88680b4934ce94fe63fb2a2b9da6c52 (diff)
downloadxsettings-daemon-a63db47dff186a538f83cfef9dbb33c23befdd9c.tar.gz
xsettings-daemon-a63db47dff186a538f83cfef9dbb33c23befdd9c.tar.bz2
xsettings-daemon-a63db47dff186a538f83cfef9dbb33c23befdd9c.zip
2006-08-17 Matthew Allum <mallum@openedhand.com>
* xsettings-manager.c: (xsettings_manager_new): Make SetSelection use CurrentTime rather than generated timestamp. Appears to work around wierd race issues on slow machines. git-svn-id: https://svn.o-hand.com/repos/matchbox/trunk/settings-daemon@1375 b067294f-1dea-0310-9683-c47a78595994
-rw-r--r--ChangeLog6
-rw-r--r--settings-daemon.c2
-rw-r--r--xsettings-manager.c10
3 files changed, 16 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index be2b933..d57f7d5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-17 Matthew Allum <mallum@openedhand.com>
+
+ * xsettings-manager.c: (xsettings_manager_new):
+ Make SetSelection use CurrentTime rather than generated timestamp.
+ Appears to work around wierd race issues on slow machines.
+
2006-07-28 Chris Lord <chris@openedhand.com>
* configure.ac:
diff --git a/settings-daemon.c b/settings-daemon.c
index 434ad78..cc0f195 100644
--- a/settings-daemon.c
+++ b/settings-daemon.c
@@ -685,6 +685,8 @@ main(int argc, char **argv)
}
}
+ g_type_init();
+
gdk_init(&argc, &argv);
loop = g_main_loop_new(NULL, FALSE);
diff --git a/xsettings-manager.c b/xsettings-manager.c
index 98c800c..d96f948 100644
--- a/xsettings-manager.c
+++ b/xsettings-manager.c
@@ -45,7 +45,7 @@ struct _XSettingsManager
unsigned long serial;
};
-XSettingsList *settings;
+static XSettingsList *settings;
typedef struct
{
@@ -156,7 +156,13 @@ xsettings_manager_new (Display *display,
timestamp = get_server_time (display, manager->window);
XSetSelectionOwner (display, manager->selection_atom,
- manager->window, timestamp);
+ manager->window,
+ /* NOTE: using CurrentTime rather timestamp.
+ * For some reason timestamp causes the selection
+ * to fail on v slow machines at least - not sure
+ * why this is. Very odd.
+ */
+ CurrentTime);
/* Check to see if we managed to claim the selection. If not,
* we treat it as if we got it then immediately lost it