rpms/imsettings/devel imsettings.diff, NONE, 1.1 imsettings.spec, 1.4, 1.5
Akira TAGOH (tagoh)
fedora-extras-commits at redhat.com
Wed Jun 18 08:19:22 UTC 2008
- Previous message (by thread): rpms/transmission/devel .cvsignore, 1.20, 1.21 sources, 1.20, 1.21 transmission.spec, 1.23, 1.24
- Next message (by thread): rpms/transmission/F-9 .cvsignore, 1.18, 1.19 sources, 1.18, 1.19 transmission.spec, 1.22, 1.23
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: tagoh
Update of /cvs/pkgs/rpms/imsettings/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3164
Modified Files:
imsettings.spec
Added Files:
imsettings.diff
Log Message:
* Wed Jul 18 2008 Akira TAGOH <tagoh at redhat.com> - 0.101.2-2
- Backport patch from upstream to solve issues.
- always saying IM is running when no .xinputrc.
- workaround for a delay of that IM is ready for XIM.
imsettings.diff:
--- NEW FILE imsettings.diff ---
2008-06-18 Akira TAGOH <tagoh at redhat.com>
* backends/xim/loopback.c (xim_loopback_finalize): unset the selection
owner.
* backends/xim/utils.c (xim_lookup_atom): deal with the X event in
the queue before doing something.
* backends/xim/server.c (xim_server_set_property): work around for
a dalay until IM is ready. (rhbz#451753)
* src/factory.c (imsettings_manager_real_what_im_is_running):
Fix a typo. always saying IM is running if no .xinputrc.
Index: src/factory.c
===================================================================
--- src/factory.c (ãªãã¸ã§ã³ 65)
+++ src/factory.c (ä½æ¥ã³ãã¼)
@@ -667,7 +667,7 @@
conn = dbus_bus_get(DBUS_BUS_SESSION, NULL);
req = imsettings_request_new(conn, IMSETTINGS_INFO_INTERFACE_DBUS);
module = imsettings_request_get_current_user_im(req, error);
- if (error)
+ if (*error != NULL)
goto end;
if (module) {
info = imsettings_request_get_info_object(req, module, error);
Index: backends/xim/utils.c
===================================================================
--- backends/xim/utils.c (ãªãã¸ã§ã³ 65)
+++ backends/xim/utils.c (ä½æ¥ã³ãã¼)
@@ -126,6 +126,7 @@
if (xim_server_name == NULL)
return None;
+ XSync(dpy, False);
s1 = g_strdup_printf("@server=%s", xim_server_name);
a = xim_get_atoms(dpy);
XGetWindowProperty(dpy, DefaultRootWindow(dpy), a->atom_xim_servers,
Index: backends/xim/server.c
===================================================================
--- backends/xim/server.c (ãªãã¸ã§ã³ 65)
+++ backends/xim/server.c (ä½æ¥ã³ãã¼)
@@ -27,6 +27,7 @@
#include <stdint.h>
#include <string.h>
+#include <unistd.h>
#include <glib/gi18n-lib.h>
#include <X11/Xatom.h>
#include "imsettings/imsettings-marshal.h"
@@ -336,39 +337,52 @@
"selection_atom", &priv->atom_selection,
NULL);
}
- } else if ((a = xim_lookup_atom(xim->dpy, name)) != None) {
- Window w = XGetSelectionOwner(xim->dpy, a);
- gchar *old_xim;
+ } else {
+ guint n_retry = 3;
- if (w != 0) {
- priv->target_xim_window = w;
- old_xim = priv->target_xim_name;
- priv->target_xim_name = g_strdup(name);
- priv->atom_selection = a;
+ retry:
+ if ((a = xim_lookup_atom(xim->dpy, name)) != None) {
+ Window w = XGetSelectionOwner(xim->dpy, a);
+ gchar *old_xim;
- g_hash_table_foreach(priv->conn_table,
- xim_server_update_xim_server,
- priv->target_xim_name);
+ if (w != 0) {
+ priv->target_xim_window = w;
+ old_xim = priv->target_xim_name;
+ priv->target_xim_name = g_strdup(name);
+ priv->atom_selection = a;
- if (strcmp(old_xim, "none") == 0) {
- /* destroy the dummy XIM server */
- if (priv->verbose)
- g_print("D: Destroying an instance of loopback server.\n");
- if (priv->loopback) {
- g_object_unref(priv->loopback);
- priv->loopback = NULL;
+ g_hash_table_foreach(priv->conn_table,
+ xim_server_update_xim_server,
+ priv->target_xim_name);
+
+ if (strcmp(old_xim, "none") == 0) {
+ /* destroy the dummy XIM server */
+ if (priv->verbose)
+ g_print("D: Destroying an instance of loopback server.\n");
+ if (priv->loopback) {
+ g_object_unref(priv->loopback);
+ priv->loopback = NULL;
+ }
}
+
+ g_free(old_xim);
+ } else {
+ gchar *s = XGetAtomName(xim->dpy, a);
+
+ g_warning("No selection owner of %s. XIM server may be not running", s);
+ XFree(s);
}
-
- g_free(old_xim);
} else {
- gchar *s = XGetAtomName(xim->dpy, a);
-
- g_warning("No selection owner of %s. XIM server may be not running", s);
- XFree(s);
+ if (n_retry > 0) {
+ g_warning("No XIM server `%s' is running. retrying to find out...",
+ name);
+ n_retry--;
+ sleep(3);
+ goto retry;
+ } else {
+ g_printerr("No such XIM server is running: %s\n", name);
+ }
}
- } else {
- g_warning("No such XIM server is running: %s", name);
}
break;
case PROP_VERBOSE:
@@ -418,10 +432,10 @@
g_source_destroy((GSource *)priv->event_loop);
g_hash_table_destroy(priv->conn_table);
- XDestroyWindow(xim->dpy, priv->selection_window);
g_free(priv->target_xim_name);
if (priv->loopback)
g_object_unref(priv->loopback);
+ XDestroyWindow(xim->dpy, priv->selection_window);
if (G_OBJECT_CLASS (xim_server_parent_class)->finalize)
G_OBJECT_CLASS (xim_server_parent_class)->finalize(object);
Index: backends/xim/loopback.c
===================================================================
--- backends/xim/loopback.c (ãªãã¸ã§ã³ 65)
+++ backends/xim/loopback.c (ä½æ¥ã³ãã¼)
@@ -710,6 +710,11 @@
if (priv->selection_window)
XDestroyWindow(proto->dpy, priv->selection_window);
+ XSetSelectionOwner(proto->dpy,
+ priv->atom_selection,
+ None,
+ CurrentTime);
+ XSync(proto->dpy, False);
g_hash_table_destroy(priv->comm_table);
g_source_destroy((GSource *)priv->event_loop);
Index: imsettings.spec
===================================================================
RCS file: /cvs/pkgs/rpms/imsettings/devel/imsettings.spec,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- imsettings.spec 17 Jun 2008 06:10:49 -0000 1.4
+++ imsettings.spec 18 Jun 2008 08:18:35 -0000 1.5
@@ -1,6 +1,6 @@
Name: imsettings
Version: 0.101.2
-Release: 1%{?dist}
+Release: 2%{?dist}
License: LGPLv2+
URL: http://code.google.com/p/imsettings/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -11,6 +11,7 @@
BuildRequires: libX11-devel
Source0: http://imsettings.googlecode.com/files/%{name}-%{version}.tar.bz2
Patch0: imsettings-constraint-of-language.patch
+Patch1: imsettings.diff
Summary: Delivery framework for general Input Method configuration
Group: Applications/System
@@ -73,6 +74,7 @@
%prep
%setup -q
%patch0 -p1 -b .0-lang
+%patch1 -p0 -b .backport
%build
%configure \
@@ -150,6 +152,11 @@
%changelog
+* Wed Jul 18 2008 Akira TAGOH <tagoh at redhat.com> - 0.101.2-2
+- Backport patch from upstream to solve issues.
+ - always saying IM is running when no .xinputrc.
+ - workaround for a delay of that IM is ready for XIM.
+
* Tue Jun 17 2008 Akira TAGOH <tagoh at redhat.com> - 0.101.2-1
- New upstream release.
- Fix a typo in the help message. (#451739)
- Previous message (by thread): rpms/transmission/devel .cvsignore, 1.20, 1.21 sources, 1.20, 1.21 transmission.spec, 1.23, 1.24
- Next message (by thread): rpms/transmission/F-9 .cvsignore, 1.18, 1.19 sources, 1.18, 1.19 transmission.spec, 1.22, 1.23
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list