rpms/im-chooser/devel im-chooser-0.99.6-check-if-im-is-running.patch, NONE, 1.1 im-chooser-0.99.6-correct-build-order.patch, NONE, 1.1 im-chooser.spec, 1.37, 1.38
Akira TAGOH (tagoh)
fedora-extras-commits at redhat.com
Fri Apr 25 13:45:45 UTC 2008
Author: tagoh
Update of /cvs/pkgs/rpms/im-chooser/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv24944
Modified Files:
im-chooser.spec
Added Files:
im-chooser-0.99.6-check-if-im-is-running.patch
im-chooser-0.99.6-correct-build-order.patch
Log Message:
* Wed Apr 23 2008 Akira TAGOH <tagoh at redhat.com> - 0.99.6-2
* im-chooser-0.99.6-check-if-im-is-running.patch: Do not turn on the check box
if IM isn't really running. (#443765)
* im-chooser-0.99.6-correct-build-order.patch: Apply to correct the build order.
im-chooser-0.99.6-check-if-im-is-running.patch:
--- NEW FILE im-chooser-0.99.6-check-if-im-is-running.patch ---
Index: imsettings/utils/imsettings-list.c
===================================================================
--- imsettings/utils/imsettings-list.c (ãªãã¸ã§ã³ 331)
+++ imsettings/utils/imsettings-list.c (ä½æ¥ã³ãã¼)
@@ -31,10 +31,10 @@
main(int argc,
char **argv)
{
- IMSettingsRequest *imsettings;
+ IMSettingsRequest *imsettings_info, *imsettings;
DBusConnection *connection;
gchar **list, *locale;
- gchar *user_im, *system_im;
+ gchar *user_im, *system_im, *running_im;
gint i;
setlocale(LC_ALL, "");
@@ -43,16 +43,18 @@
g_type_init();
connection = dbus_bus_get(DBUS_BUS_SESSION, NULL);
- imsettings = imsettings_request_new(connection, IMSETTINGS_INFO_INTERFACE_DBUS);
- imsettings_request_set_locale(imsettings, locale);
- if ((list = imsettings_request_get_im_list(imsettings)) == NULL) {
+ imsettings = imsettings_request_new(connection, IMSETTINGS_INTERFACE_DBUS);
+ imsettings_info = imsettings_request_new(connection, IMSETTINGS_INFO_INTERFACE_DBUS);
+ imsettings_request_set_locale(imsettings_info, locale);
+ if ((list = imsettings_request_get_im_list(imsettings_info)) == NULL) {
g_printerr("Failed to get an IM list.\n");
} else {
- user_im = imsettings_request_get_current_user_im(imsettings);
- system_im = imsettings_request_get_current_system_im(imsettings);
+ user_im = imsettings_request_get_current_user_im(imsettings_info);
+ system_im = imsettings_request_get_current_system_im(imsettings_info);
+ running_im = imsettings_request_what_im_is_running(imsettings);
for (i = 0; list[i] != NULL; i++) {
g_print("%s %d: %s %s\n",
- (strcmp(user_im, list[i]) == 0 ? "*" : " "),
+ (strcmp(running_im, list[i]) == 0 ? "*" : (strcmp(user_im, list[i]) == 0 ? "-" : " ")),
i + 1,
list[i],
(strcmp(system_im, list[i]) == 0 ? "(recommended)" : ""));
@@ -60,6 +62,7 @@
g_strfreev(list);
}
g_object_unref(imsettings);
+ g_object_unref(imsettings_info);
dbus_connection_unref(connection);
return 0;
Index: imsettings/imsettings/imsettings-observer.h
===================================================================
--- imsettings/imsettings/imsettings-observer.h (ãªãã¸ã§ã³ 331)
+++ imsettings/imsettings/imsettings-observer.h (ä½æ¥ã³ãã¼)
@@ -84,6 +84,8 @@
gboolean update_xinputrc,
gboolean force,
GError **error);
+ const gchar * (* what_im_is_running) (IMSettingsObserver *imsettings,
+ GError **error);
/* signals */
void (* s_start_im) (IMSettingsObserver *imsettings,
Index: imsettings/imsettings/imsettings-request.h
===================================================================
--- imsettings/imsettings/imsettings-request.h (ãªãã¸ã§ã³ 331)
+++ imsettings/imsettings/imsettings-request.h (ä½æ¥ã³ãã¼)
@@ -95,6 +95,7 @@
const gchar *module,
gboolean update_xinputrc,
gboolean force);
+gchar *imsettings_request_what_im_is_running (IMSettingsRequest *imsettings);
gboolean imsettings_request_reload (IMSettingsRequest *imsettings,
gboolean force);
gboolean imsettings_request_change_to (IMSettingsRequest *imsettings,
Index: imsettings/imsettings/imsettings.xml
===================================================================
--- imsettings/imsettings/imsettings.xml (ãªãã¸ã§ã³ 331)
+++ imsettings/imsettings/imsettings.xml (ä½æ¥ã³ãã¼)
@@ -13,6 +13,11 @@
<arg type="b" name="force" direction="in" />
<arg type="b" name="ret" direction="out" />
</method>
+ <method name="WhatInputMethodIsRunning">
+ <arg type="s" name="ret" direction="out">
+ <annotation name="org.freedesktop.DBus.GLib.Const" value="" />
+ </arg>
+ </method>
</interface>
<interface name="com.redhat.imsettings.IMInfo">
<method name="GetList">
Index: imsettings/imsettings/imsettings-observer.c
===================================================================
--- imsettings/imsettings/imsettings-observer.c (ãªãã¸ã§ã³ 331)
+++ imsettings/imsettings/imsettings-observer.c (ä½æ¥ã³ãã¼)
@@ -134,6 +134,28 @@
}
static gboolean
+imsettings_what_input_method_is_running(GObject *object,
+ const gchar **ret,
+ GError **error)
+{
+ IMSettingsObserverClass *klass = IMSETTINGS_OBSERVER_GET_CLASS (object);
+ const gchar *module;
+ gboolean retval = FALSE;
+
+ d(g_print("Getting current IM running\n"));
+ if (klass->what_im_is_running) {
+ module = klass->what_im_is_running(IMSETTINGS_OBSERVER (object),
+ error);
+ if (*error == NULL) {
+ *ret = g_strdup(module);
+ retval = TRUE;
+ }
+ }
+
+ return retval;
+}
+
+static gboolean
imsettings_get_list(GObject *object,
const gchar *lang,
gchar ***ret,
Index: imsettings/imsettings/imsettings-request.c
===================================================================
--- imsettings/imsettings/imsettings-request.c (ãªãã¸ã§ã³ 331)
+++ imsettings/imsettings/imsettings-request.c (ä½æ¥ã³ãã¼)
@@ -633,6 +633,28 @@
user_data) != NULL;
}
+gchar *
+imsettings_request_what_im_is_running(IMSettingsRequest *imsettings)
+{
+ IMSettingsRequestPrivate *priv;
+ GError *error = NULL;
+ gchar *retval;
+
+ g_return_val_if_fail (IMSETTINGS_IS_REQUEST (imsettings), FALSE);
+
+ priv = IMSETTINGS_REQUEST_GET_PRIVATE (imsettings);
+ if (!com_redhat_imsettings_what_input_method_is_running(priv->proxy,
+ &retval,
+ &error)) {
+ g_warning(_("Failed to invoke a method `%s':\n %s"), "WhatInputMethodIsRunning", error->message);
+ g_error_free(error);
+
+ return NULL;
+ }
+
+ return retval;
+}
+
gboolean
imsettings_request_reload(IMSettingsRequest *imsettings,
gboolean force)
Index: imsettings/src/factory.c
===================================================================
--- imsettings/src/factory.c (ãªãã¸ã§ã³ 331)
+++ imsettings/src/factory.c (ä½æ¥ã³ãã¼)
@@ -625,6 +625,41 @@
return retval;
}
+const gchar *
+imsettings_manager_real_what_im_is_running(IMSettingsObserver *observer,
+ GError **error)
+{
+ IMSettingsManagerPrivate *priv = IMSETTINGS_MANAGER_GET_PRIVATE (observer);
+ IMSettingsRequest *req;
+ DBusConnection *conn;
+ gchar *module, *xinputfile = NULL, *pidfile = NULL;
+
+ 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);
+ if (module) {
+ xinputfile = imsettings_request_get_xinput_filename(req, module);
+ if (!xinputfile) {
+ g_set_error(error, IMSETTINGS_GERROR, IMSETTINGS_GERROR_IM_NOT_FOUND,
+ _("No such input method on your system: %s"),
+ module);
+ goto end;
+ }
+ pidfile = _build_pidfilename(xinputfile, priv->display_name, "xim");
+ if (!g_file_test(pidfile, G_FILE_TEST_EXISTS)) {
+ g_free(module);
+ module = NULL;
+ }
+ }
+ end:
+ g_free(xinputfile);
+ g_free(pidfile);
+ g_object_unref(req);
+ dbus_connection_unref(conn);
+
+ return module;
+}
+
static void
imsettings_manager_class_init(IMSettingsManagerClass *klass)
{
@@ -637,8 +672,9 @@
object_class->get_property = imsettings_manager_real_get_property;
object_class->finalize = imsettings_manager_real_finalize;
- observer_class->start_im = imsettings_manager_real_start_im;
- observer_class->stop_im = imsettings_manager_real_stop_im;
+ observer_class->start_im = imsettings_manager_real_start_im;
+ observer_class->stop_im = imsettings_manager_real_stop_im;
+ observer_class->what_im_is_running = imsettings_manager_real_what_im_is_running;
/* properties */
g_object_class_install_property(object_class, PROP_DISPLAY_NAME,
Index: src/im-chooser-simple.c
===================================================================
--- src/im-chooser-simple.c (ãªãã¸ã§ã³ 331)
+++ src/im-chooser-simple.c (ä½æ¥ã³ãã¼)
@@ -626,10 +626,11 @@
GtkRequisition requisition;
guint count = 0;
gint i, priority = 0;
- gchar *user_im, *system_im;
+ gchar *user_im, *system_im, *running_im;
user_im = imsettings_request_get_current_user_im(im->imsettings_info);
system_im = imsettings_request_get_current_system_im(im->imsettings_info);
+ running_im = imsettings_request_what_im_is_running(im->imsettings);
if (im->im_list == NULL)
goto end;
@@ -654,7 +655,7 @@
def_iter = gtk_tree_iter_copy(&iter);
}
if (im->current_im == NULL &&
- strcmp(user_im, im->im_list[i]) == 0) {
+ strcmp(running_im, im->im_list[i]) == 0) {
im->current_im = g_strdup(im->im_list[i]);
if (im->initial_im == NULL)
im->initial_im = g_strdup(im->current_im);
im-chooser-0.99.6-correct-build-order.patch:
--- NEW FILE im-chooser-0.99.6-correct-build-order.patch ---
diff -pruN im-chooser-0.99.6.orig/imsettings/imsettings/Makefile.am im-chooser-0.99.6/imsettings/imsettings/Makefile.am
--- im-chooser-0.99.6.orig/imsettings/imsettings/Makefile.am 2008-03-19 15:12:55.000000000 +0900
+++ im-chooser-0.99.6/imsettings/imsettings/Makefile.am 2008-04-25 22:38:36.000000000 +0900
@@ -37,7 +37,8 @@ noinst_HEADERS = \
imsettings-marshal.h \
$(NULL)
-imsettings.h: stamp-bindings.h $(srcdir)/imsettings-marshal.h $(srcdir)/imsettings-marshal.c
+imsettings-observer.c: stamp-bindings.h $(srcdir)/imsettings-marshal.h Makefile
+imsettings-request.c: stamp-bindings.h Makefile
$(top_srcdir)/imsettings/imsettings/imsettings-glib-bindings.h: stamp-bindings.h Makefile
@true
stamp-bindings.h: $(srcdir)/imsettings.xml Makefile
@@ -49,13 +50,13 @@ stamp-bindings.h: $(srcdir)/imsettings.x
--mode=glib-server \
--output=$(srcdir)/imsettings-glib-glue.h $(srcdir)/imsettings.xml ) && \
echo timestamp > $(@F)
-$(srcdir)/imsettings-marshal.h: $(srcdir)/marshal.list $(srcdir)/imsettings-marshal.c Makefile
+$(srcdir)/imsettings-marshal.h: $(srcdir)/marshal.list Makefile
( cd $(srcdir) && \
@GLIB_GENMARSHAL@ --prefix=imsettings_marshal $(srcdir)/marshal.list \
--header > xgen-imh && \
(cmp -s xgen-imh imsettings-marshal.h || cp xgen-imh imsettings-marshal.h) && \
rm -f xgen-imh)
-$(srcdir)/imsettings-marshal.c: $(srcdir)/marshal.list $(srcdir)/imsettings-marshal.h Makefile
+$(srcdir)/imsettings-marshal.c: $(srcdir)/imsettings-marshal.h Makefile
( cd $(srcdir) && \
@GLIB_GENMARSHAL@ --prefix=imsettings_marshal $(srcdir)/marshal.list \
--body > xgen-imc && \
Index: im-chooser.spec
===================================================================
RCS file: /cvs/pkgs/rpms/im-chooser/devel/im-chooser.spec,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- im-chooser.spec 8 Apr 2008 10:50:10 -0000 1.37
+++ im-chooser.spec 25 Apr 2008 13:45:09 -0000 1.38
@@ -1,13 +1,16 @@
Name: im-chooser
Version: 0.99.6
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2+
+URL: http://fedorahosted.org/im-chooser/
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gtk2-devel intltool gettext libgnomeui-devel dbus-devel dbus-glib-devel gamin-devel xfce-mcs-manager-devel libxfce4mcs-devel
BuildRequires: desktop-file-utils
-Source0: %{name}-%{version}.tar.gz
+Source0: http://fedorahosted.org/releases/i/m/%{name}/%{name}-%{version}.tar.gz
Patch0: im-chooser-constraint-of-language.patch
+Patch1: im-chooser-0.99.6-check-if-im-is-running.patch
+Patch2: im-chooser-0.99.6-correct-build-order.patch
Summary: Desktop Input Method configuration tool
Group: Applications/System
@@ -60,6 +63,9 @@
%prep
%setup -q
%patch0 -p1 -b .language
+%patch1 -p0 -b .is_running
+%patch2 -p1 -b .build_order
+autoreconf
%build
%configure --with-xinput-suffix=.conf \
@@ -143,6 +149,11 @@
%{_libdir}/pkgconfig/imsettings.pc
%changelog
+* Wed Apr 23 2008 Akira TAGOH <tagoh at redhat.com> - 0.99.6-2
+* im-chooser-0.99.6-check-if-im-is-running.patch: Do not turn on the check box
+ if IM isn't really running. (#443765)
+* im-chooser-0.99.6-correct-build-order.patch: Apply to correct the build order.
+
* Tue Apr 8 2008 Akira TAGOH <tagoh at redhat.com> - 0.99.6-1
- New upstream release.
- translation updates.
More information about the fedora-extras-commits
mailing list