rpms/scim/F-9 scim-1.4.7-menu-pos.patch, NONE, 1.1 scim-1.4.7-timeout.patch, NONE, 1.1 scim-1.4.7-trayicon.patch, NONE, 1.1 scim-1.4.7-xim-wrong-format.patch, NONE, 1.1 scim_x11_frontend-ic-focus-LTC27940-215953.patch, 1.2, 1.3 scim-1.4.5-no-rpath-libdir.patch, 1.1, 1.2 scim.spec, 1.118, 1.119 xinput-scim, 1.18, 1.19

Jens Petersen petersen at fedoraproject.org
Wed Aug 27 08:06:48 UTC 2008


Author: petersen

Update of /cvs/extras/rpms/scim/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29261

Modified Files:
	scim-1.4.5-no-rpath-libdir.patch scim.spec xinput-scim 
Added Files:
	scim-1.4.7-menu-pos.patch scim-1.4.7-timeout.patch 
	scim-1.4.7-trayicon.patch scim-1.4.7-xim-wrong-format.patch 
	scim_x11_frontend-ic-focus-LTC27940-215953.patch 
Log Message:
backport the following changes from rawhide:

* Tue Aug 26 2008 Jens Petersen <petersen at redhat.com>
- restore scim_x11_frontend-ic-focus-LTC27940-215953.patch (#440163)
* Sat Aug 02 2008 Huang Peng <phuang at redhat.com>
- add patch scim-1.4.7-xim-wrong-format.patch to fix bug 457566 by Akira TAGOH
* Thu Jul 17 2008 Huang Peng <phuang at redhat.com>
- add patch scim-1.4.7-menu-pos.patch to fix bug 444711.
* Thu Jul 17 2008 Huang Peng <phuang at redhat.com>
- add patch scim-1.4.7-timeout.patch to fix bug 444150.
- add patch scim-1.4.7-trayicon.patch to fix bug 447848.
* Mon Jun 30 2008 Jens Petersen <petersen at redhat.com>
- make xinput script no longer require multilib immodules
  (Julian Sikorski, #448268)
- remove the hacks in xinput script counting the number of IMEs



scim-1.4.7-menu-pos.patch:

--- NEW FILE scim-1.4.7-menu-pos.patch ---
diff -up scim-1.4.7/extras/panel/scim_panel_gtk.cpp.menu-pos scim-1.4.7/extras/panel/scim_panel_gtk.cpp
--- scim-1.4.7/extras/panel/scim_panel_gtk.cpp.menu-pos	2008-07-17 16:02:08.000000000 +0800
+++ scim-1.4.7/extras/panel/scim_panel_gtk.cpp	2008-07-17 16:50:32.000000000 +0800
@@ -409,6 +409,8 @@ static PangoFontDescription *_default_fo
 static GtkStatusIcon     *_tray_icon                   = 0;
 // static GtkWidget         *_tray_icon_factory_button    = 0;
 // static gulong             _tray_icon_destroy_signal_id = 0;
+static bool              _tray_icon_clicked            = false;
+static guint             _tray_icon_clicked_time       = 0;
 #endif
 
 static gboolean           _input_window_draging        = FALSE;
@@ -1699,12 +1701,16 @@ static void
 ui_tray_icon_popup_menu_cb (GtkStatusIcon *status_icon, guint button, 
     guint activate_time, gpointer user_data)
 {
+    _tray_icon_clicked = true;
+    _tray_icon_clicked_time = activate_time;
     action_show_command_menu ();
 }
 
 static void
 ui_tray_icon_activate_cb (GtkStatusIcon *status_icon, gpointer user_data)
 {
+    _tray_icon_clicked = true;
+    _tray_icon_clicked_time = gtk_get_current_event_time ();
     _panel_agent->request_factory_menu ();
 }
 
@@ -2459,8 +2465,12 @@ action_show_command_menu (void)
                       G_CALLBACK (ui_command_menu_exit_activate_cb),
                       0);
     gtk_widget_show_all (menu_item);
-
-    gtk_menu_popup (GTK_MENU (_command_menu), 0, 0, 0, 0, 2, activate_time);
+    if (_tray_icon_clicked && _tray_icon) {
+        gtk_menu_popup (GTK_MENU (_command_menu), 0, 0, gtk_status_icon_position_menu, _tray_icon, 2, _tray_icon_clicked_time);
+    }
+    else
+        gtk_menu_popup (GTK_MENU (_command_menu), 0, 0, 0, 0, 2, activate_time);
+    _tray_icon_clicked = false;
 }
 
 //////////////////////////////////////////////////////////////////////
@@ -2752,7 +2762,6 @@ slot_show_factory_menu (const std::vecto
         MapStringVectorSizeT groups;
         std::map<String,size_t> langs, recents;
 
-        guint32 activate_time = gtk_get_current_event_time ();
 
         _factory_menu_uuids.clear ();
         _factory_menu_activated = true;
@@ -2847,7 +2856,17 @@ slot_show_factory_menu (const std::vecto
         g_signal_connect (G_OBJECT (_factory_menu), "deactivate",
                           G_CALLBACK (ui_factory_menu_deactivate_cb),
                           NULL);
-        gtk_menu_popup (GTK_MENU (_factory_menu), 0, 0, 0, 0, 1, activate_time);
+        
+        if (_tray_icon_clicked && _tray_icon) {
+            while (gtk_main_iteration_do (FALSE));
+            gtk_menu_popup (GTK_MENU (_factory_menu), 0, 0, gtk_status_icon_position_menu, _tray_icon, 1, _tray_icon_clicked_time);
+        }
+        else {
+            gtk_menu_popup (GTK_MENU (_factory_menu), 0, 0, 0, 0, 1, gtk_get_current_event_time ());
+        }
+
+        _tray_icon_clicked = false;
+        
     }
 }
 

scim-1.4.7-timeout.patch:

--- NEW FILE scim-1.4.7-timeout.patch ---
diff -up scim-1.4.7/extras/panel/scim_panel_gtk.cpp.timeout scim-1.4.7/extras/panel/scim_panel_gtk.cpp
--- scim-1.4.7/extras/panel/scim_panel_gtk.cpp.timeout	2008-07-17 09:44:53.000000000 +0800
+++ scim-1.4.7/extras/panel/scim_panel_gtk.cpp	2008-07-17 10:47:57.000000000 +0800
@@ -638,6 +638,7 @@ ui_initialize (void)
     GtkWidget *input_window_vbox;
 
     ui_load_config ();
+    _toolbar_hidden = false;
 
     if (_lookup_table_window) gtk_widget_destroy (_lookup_table_window);
     if (_input_window) gtk_widget_destroy (_input_window);
@@ -1024,8 +1025,13 @@ ui_initialize (void)
     }
 
     //Init timeout callback
+    if (_toolbar_hide_timeout != 0) {
+        g_source_remove (_toolbar_hide_timeout);
+        _toolbar_hide_timeout = 0;
+
+    }
     if (_toolbar_always_show && _toolbar_hide_timeout_max > 0) {
-        _toolbar_hide_timeout = gtk_timeout_add (1000, ui_hide_window_timeout_cb, NULL);
+        _toolbar_hide_timeout = g_timeout_add (1000, ui_hide_window_timeout_cb, NULL);
         g_signal_connect (G_OBJECT (_toolbar_window), "enter-notify-event",
                           G_CALLBACK (ui_toolbar_window_crossing_cb),
                           GINT_TO_POINTER (0));
@@ -2492,11 +2498,14 @@ panel_agent_thread_func (gpointer data)
 
     if (!_panel_agent->run ())
         std::cerr << "Failed to run Panel.\n";
-
+/*
     G_LOCK (_global_resource_lock);
     _should_exit = true;
     G_UNLOCK (_global_resource_lock);
-
+*/
+    gdk_threads_enter ();
+    gtk_main_quit ();
+    gdk_threads_leave ();
     g_thread_exit (NULL);
     return ((gpointer) NULL);
 }
@@ -3703,7 +3712,7 @@ int main (int argc, char *argv [])
 
     start_auto_start_helpers ();
 
-    _check_exit_timeout = gtk_timeout_add (500, check_exit_timeout_cb, NULL);
+    // _check_exit_timeout = g_timeout_add (500, check_exit_timeout_cb, NULL);
 
     gdk_threads_enter ();
     gtk_main ();

scim-1.4.7-trayicon.patch:

--- NEW FILE scim-1.4.7-trayicon.patch ---
diff -up scim-1.4.7/extras/panel/scim_panel_gtk.cpp.trayicon scim-1.4.7/extras/panel/scim_panel_gtk.cpp
--- scim-1.4.7/extras/panel/scim_panel_gtk.cpp.trayicon	2008-07-17 10:57:23.000000000 +0800
+++ scim-1.4.7/extras/panel/scim_panel_gtk.cpp	2008-07-17 13:57:55.000000000 +0800
@@ -60,7 +60,7 @@
 #include "scimstringview.h"
 
 #if ENABLE_TRAY_ICON
-  #include "scimtrayicon.h"
+//  #include "scimtrayicon.h"
 #endif
 
 using namespace scim;
@@ -276,6 +276,13 @@ static void       ui_command_menu_deacti
 #if ENABLE_TRAY_ICON
 static void       ui_tray_icon_destroy_cb              (GtkObject      *object,
                                                         gpointer        user_data);
+static void       ui_tray_icon_popup_menu_cb           (GtkStatusIcon  *status_icon,
+                                                        guint           button, 
+                                                        guint           activate_time,
+                                                        gpointer        user_data);
+
+static void       ui_tray_icon_activate_cb             (GtkStatusIcon  *status_icon,
+                                                        gpointer        user_data);
 #endif
 
 // Client Property Callback
@@ -399,9 +406,9 @@ static GtkTooltips       *_tooltips     
 static PangoFontDescription *_default_font_desc        = 0;
 
 #if ENABLE_TRAY_ICON
-static ScimTrayIcon      *_tray_icon                   = 0;
-static GtkWidget         *_tray_icon_factory_button    = 0;
-static gulong             _tray_icon_destroy_signal_id = 0;
+static GtkStatusIcon     *_tray_icon                   = 0;
+// static GtkWidget         *_tray_icon_factory_button    = 0;
+// static gulong             _tray_icon_destroy_signal_id = 0;
 #endif
 
 static gboolean           _input_window_draging        = FALSE;
@@ -648,9 +655,9 @@ ui_initialize (void)
 
 #if ENABLE_TRAY_ICON
     if (_tray_icon) {
-        g_signal_handler_disconnect (G_OBJECT (_tray_icon),
-                                     _tray_icon_destroy_signal_id);
-        gtk_widget_destroy (GTK_WIDGET (_tray_icon));
+        // g_signal_handler_disconnect (G_OBJECT (_tray_icon),
+        //                             _tray_icon_destroy_signal_id);
+        g_object_unref (_tray_icon);
     }
     _tray_icon = 0;
 #endif
@@ -1305,9 +1312,9 @@ ui_switch_screen (GdkScreen *screen)
         }
 
 #if ENABLE_TRAY_ICON
-        if (_tray_icon) {
-            gtk_window_set_screen (GTK_WINDOW (_tray_icon), screen);
-        }
+        // if (_tray_icon) {
+        //     gtk_window_set_screen (GTK_WINDOW (_tray_icon), screen);
+        // }
 #endif
 
         if (_help_dialog) {
@@ -1330,65 +1337,75 @@ ui_switch_screen (GdkScreen *screen)
 #endif
 
 #if ENABLE_TRAY_ICON
-static gboolean
-ui_tray_icon_expose_event_cb (GtkWidget *widget, GdkEventExpose *event)
-{
-    gdk_window_clear_area (widget->window, event->area.x, event->area.y,
-                           event->area.width, event->area.height);
-    return FALSE;
-}
-
-static void
-ui_tray_icon_style_set_cb (GtkWidget *widget, GtkStyle *previous_style)
-{
-    gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
-}
-
-static void
-ui_tray_icon_realize_cb (GtkWidget *widget)
-{
-    if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
-        return;
-
-    gtk_widget_set_app_paintable (widget, TRUE);
-    gtk_widget_set_double_buffered (widget, FALSE);
-    gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
-    g_signal_connect (widget, "expose_event",
-                      G_CALLBACK (ui_tray_icon_expose_event_cb), NULL);
-    g_signal_connect_after (widget, "style_set",
-                            G_CALLBACK (ui_tray_icon_style_set_cb), NULL);
-}
+// static gboolean
+// ui_tray_icon_expose_event_cb (GtkWidget *widget, GdkEventExpose *event)
+// {
+//     gdk_window_clear_area (widget->window, event->area.x, event->area.y,
+//                            event->area.width, event->area.height);
+//     return FALSE;
+// }
+// 
+// static void
+// ui_tray_icon_style_set_cb (GtkWidget *widget, GtkStyle *previous_style)
+// {
+//     gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
+// }
+// 
+// static void
+// ui_tray_icon_realize_cb (GtkWidget *widget)
+// {
+//     if (GTK_WIDGET_NO_WINDOW (widget) || GTK_WIDGET_APP_PAINTABLE (widget))
+//         return;
+// 
+//     gtk_widget_set_app_paintable (widget, TRUE);
+//     gtk_widget_set_double_buffered (widget, FALSE);
+//     gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
+//     g_signal_connect (widget, "expose_event",
+//                       G_CALLBACK (ui_tray_icon_expose_event_cb), NULL);
+//     g_signal_connect_after (widget, "style_set",
+//                             G_CALLBACK (ui_tray_icon_style_set_cb), NULL);
+// }
 
 static gboolean
 ui_create_tray_icon_when_idle (gpointer data)
 {
     GtkWidget *image;
 
-    _tray_icon = scim_tray_icon_new ("SCIM Tray Icon");
-    g_signal_connect (G_OBJECT (_tray_icon), "realize",
-                      G_CALLBACK (ui_tray_icon_realize_cb), NULL);
-
-    _tray_icon_destroy_signal_id = 
-    g_signal_connect (G_OBJECT (_tray_icon), "destroy",
-                      G_CALLBACK (ui_tray_icon_destroy_cb),
-                      0);
+    _tray_icon = gtk_status_icon_new_from_file (SCIM_KEYBOARD_ICON_FILE);
+    // g_signal_connect (G_OBJECT (_tray_icon), "realize",
+    //                   G_CALLBACK (ui_tray_icon_realize_cb), NULL);
+
+    // _tray_icon_destroy_signal_id = 
+    // g_signal_connect (G_OBJECT (_tray_icon), "destroy",
+    //                   G_CALLBACK (ui_tray_icon_destroy_cb),
+    //                   0);
+
+    // image = ui_create_icon (SCIM_KEYBOARD_ICON_FILE,
+    //                         NULL,
+    //                         TRAY_ICON_SIZE,
+    //                         TRAY_ICON_SIZE,
+    //                         true);
+
+    // _tray_icon_factory_button = gtk_event_box_new ();
+    // g_signal_connect (G_OBJECT (_tray_icon_factory_button), "realize",
+    //                   G_CALLBACK (ui_tray_icon_realize_cb), NULL);
+    // gtk_container_add (GTK_CONTAINER (_tray_icon_factory_button), image);
+    // gtk_container_add (GTK_CONTAINER (_tray_icon), _tray_icon_factory_button);
 
-    image = ui_create_icon (SCIM_KEYBOARD_ICON_FILE,
-                            NULL,
-                            TRAY_ICON_SIZE,
-                            TRAY_ICON_SIZE,
-                            true);
-
-    _tray_icon_factory_button = gtk_event_box_new ();
-    g_signal_connect (G_OBJECT (_tray_icon_factory_button), "realize",
-                      G_CALLBACK (ui_tray_icon_realize_cb), NULL);
-    gtk_container_add (GTK_CONTAINER (_tray_icon_factory_button), image);
-    gtk_container_add (GTK_CONTAINER (_tray_icon), _tray_icon_factory_button);
-    g_signal_connect (G_OBJECT (_tray_icon_factory_button), "button-release-event",
-                      G_CALLBACK (ui_factory_button_click_cb),
+    
+    // g_signal_connect (G_OBJECT (_tray_icon_factory_button), "button-release-event",
+    //                   G_CALLBACK (ui_factory_button_click_cb),
+    //                   0);
+    
+    g_signal_connect (G_OBJECT (_tray_icon), "popup-menu",
+                      G_CALLBACK (ui_tray_icon_popup_menu_cb),
+                      0);
+    
+    g_signal_connect (G_OBJECT (_tray_icon), "activate",
+                      G_CALLBACK (ui_tray_icon_activate_cb),
                       0);
 
-    gtk_widget_show_all (GTK_WIDGET (_tray_icon));
+    gtk_status_icon_set_visible (_tray_icon, TRUE);
 
     return FALSE;
 }
@@ -1679,6 +1696,19 @@ ui_factory_button_click_cb (GtkWidget *b
 }
 
 static void
+ui_tray_icon_popup_menu_cb (GtkStatusIcon *status_icon, guint button, 
+    guint activate_time, gpointer user_data)
+{
+    action_show_command_menu ();
+}
+
+static void
+ui_tray_icon_activate_cb (GtkStatusIcon *status_icon, gpointer user_data)
+{
+    _panel_agent->request_factory_menu ();
+}
+
+static void
 ui_factory_menu_activate_cb (GtkMenuItem *item,
                              gpointer     user_data)
 {
@@ -2236,19 +2266,19 @@ ui_command_menu_deactivate_cb (GtkWidget
 }
 
 #if ENABLE_TRAY_ICON
-static void
-ui_tray_icon_destroy_cb (GtkObject      *object,
-                         gpointer        user_data)
-{
-    SCIM_DEBUG_MAIN (1) << "Tray Icon destroyed!\n";
-
-    gtk_widget_destroy (GTK_WIDGET (object));
-
-    _tray_icon = 0;
-    _tray_icon_factory_button = 0;
-
-    g_idle_add (ui_create_tray_icon_when_idle, NULL);
-}
+// static void
+// ui_tray_icon_destroy_cb (GtkObject      *object,
+//                          gpointer        user_data)
+// {
+//     SCIM_DEBUG_MAIN (1) << "Tray Icon destroyed!\n";
+// 
+//     gtk_widget_destroy (GTK_WIDGET (object));
+// 
+//     _tray_icon = 0;
+//     _tray_icon_factory_button = 0;
+// 
+//     g_idle_add (ui_create_tray_icon_when_idle, NULL);
+// }
 #endif
 
 static void
@@ -2681,18 +2711,21 @@ slot_update_factory_info (const PanelFac
     }
 
 #if ENABLE_TRAY_ICON
-    if (_tray_icon_factory_button) {
-        GtkWidget *icon = gtk_bin_get_child (GTK_BIN (_tray_icon_factory_button));
+    // if (_tray_icon_factory_button) {
+    //     GtkWidget *icon = gtk_bin_get_child (GTK_BIN (_tray_icon_factory_button));
 
-        if (icon)
-            gtk_container_remove (GTK_CONTAINER (_tray_icon_factory_button), icon);
+    //     if (icon)
+    //         gtk_container_remove (GTK_CONTAINER (_tray_icon_factory_button), icon);
 
-        icon = ui_create_icon (info.icon, NULL, TRAY_ICON_SIZE, TRAY_ICON_SIZE, true);
+    //     icon = ui_create_icon (info.icon, NULL, TRAY_ICON_SIZE, TRAY_ICON_SIZE, true);
 
-        gtk_container_add (GTK_CONTAINER (_tray_icon_factory_button), icon);
+    //     gtk_container_add (GTK_CONTAINER (_tray_icon_factory_button), icon);
 
-        if (_tooltips)
-            gtk_tooltips_set_tip (_tooltips, _tray_icon_factory_button, info.name.c_str (), NULL);
+    //     if (_tooltips)
+    //         gtk_tooltips_set_tip (_tooltips, _tray_icon_factory_button, info.name.c_str (), NULL);
+    // }
+    if (_tray_icon) {
+        gtk_status_icon_set_from_file (_tray_icon, info.icon.c_str());
     }
 #endif
 

scim-1.4.7-xim-wrong-format.patch:

--- NEW FILE scim-1.4.7-xim-wrong-format.patch ---
diff -up scim-1.4.7/modules/FrontEnd/IMdkit/i18nIMProto.c.xim-wrong-format scim-1.4.7/modules/FrontEnd/IMdkit/i18nIMProto.c
--- scim-1.4.7/modules/FrontEnd/IMdkit/i18nIMProto.c.xim-wrong-format	2008-08-02 09:01:07.000000000 +0800
+++ scim-1.4.7/modules/FrontEnd/IMdkit/i18nIMProto.c	2008-08-02 09:01:15.000000000 +0800
@@ -106,11 +106,11 @@ static XimFrameRec xpcs_fr[] =
 
 static XimFrameRec ext_fr[] =
 {
-    _FRAME(BIT16), 		/* extension major-opcode */
-    _FRAME(BIT16), 		/* extension minor-opcode */
+    _FRAME(BIT8), 		/* extension major-opcode */
+    _FRAME(BIT8), 		/* extension minor-opcode */
     _FRAME(BIT16), 		/* length of extension name */
     _FRAME(BARRAY), 		/* extension name */
-    _PAD4(2),
+    _PAD4(1),
     _FRAME(EOL),
 };
 

scim_x11_frontend-ic-focus-LTC27940-215953.patch:

Index: scim_x11_frontend-ic-focus-LTC27940-215953.patch
===================================================================
RCS file: scim_x11_frontend-ic-focus-LTC27940-215953.patch
diff -N scim_x11_frontend-ic-focus-LTC27940-215953.patch
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ scim_x11_frontend-ic-focus-LTC27940-215953.patch	27 Aug 2008 08:06:47 -0000	1.3
@@ -0,0 +1,12 @@
+--- scim-1.4.4.orig/modules/FrontEnd/scim_x11_frontend.cpp	2006-10-06 01:05:49.000000000 +0900
++++ scim-1.4.4/modules/FrontEnd/scim_x11_frontend.cpp	2006-10-06 10:29:55.000000000 +0900
+@@ -1094,7 +1094,8 @@
+     // If the ic is not focused, then return.
+     if (!is_focused_ic (ic)) {
+         SCIM_DEBUG_FRONTEND(1) << "IC " << call_data->icid << " is not focused, focus it first.\n";
+-        ims_set_ic_focus_handler (ims, (IMChangeFocusStruct *) call_data);
++//        ims_set_ic_focus_handler (ims, (IMChangeFocusStruct *) call_data);
++	return 1;
+     }
+ 
+     XKeyEvent *event = (XKeyEvent*) &(call_data->event);

scim-1.4.5-no-rpath-libdir.patch:

Index: scim-1.4.5-no-rpath-libdir.patch
===================================================================
RCS file: /cvs/extras/rpms/scim/F-9/scim-1.4.5-no-rpath-libdir.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- scim-1.4.5-no-rpath-libdir.patch	9 Mar 2007 03:19:55 -0000	1.1
+++ scim-1.4.5-no-rpath-libdir.patch	27 Aug 2008 08:06:47 -0000	1.2
@@ -1,26 +1,28 @@
---- scim-1.4.5/src/Makefile.am~	2007-02-12 17:34:48.000000000 +1000
-+++ scim-1.4.5/src/Makefile.am	2007-03-09 13:01:46.000000000 +1000
-@@ -130,7 +130,6 @@
+diff -up scim-1.4.7/src/Makefile.am.17-rpath~ scim-1.4.7/src/Makefile.am
+--- scim-1.4.7/src/Makefile.am.17-rpath~	2007-06-26 22:31:38.000000000 +0800
++++ scim-1.4.7/src/Makefile.am	2008-07-17 14:56:54.000000000 +0800
+@@ -130,7 +130,6 @@ libscim at SCIM_EPOCH@_la_SOURCES = scim_ba
  
- libscim_1_0_la_LDFLAGS	= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
+ libscim at SCIM_EPOCH@_la_LDFLAGS= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
  			  -export-dynamic \
 -			  -rpath $(libdir) \
  			  $(LD_VERSION_SCRIPT_OPTION) \
  			  @LIBTOOL_EXPORT_OPTIONS@ \
  			  @LIBICONV@ \
---- scim-1.4.5/utils/Makefile.am~	2005-07-10 23:45:40.000000000 +1000
-+++ scim-1.4.5/utils/Makefile.am	2007-03-09 13:01:44.000000000 +1000
-@@ -53,7 +53,6 @@
+diff -up scim-1.4.7/utils/Makefile.am.17-rpath~ scim-1.4.7/utils/Makefile.am
+--- scim-1.4.7/utils/Makefile.am.17-rpath~	2007-06-26 22:31:56.000000000 +0800
++++ scim-1.4.7/utils/Makefile.am	2008-07-17 14:56:54.000000000 +0800
+@@ -53,7 +53,6 @@ libscim_gtkutils at SCIM_EPOCH@_la_CXXFLAGS
  
- libscim_gtkutils_1_0_la_LDFLAGS	= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
+ libscim_gtkutils at SCIM_EPOCH@_la_LDFLAGS= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
  				  -export-dynamic \
 -				  -rpath $(libdir) \
  				  @LIBTOOL_EXPORT_OPTIONS@ \
  				  @LTLIBINTL@ \
  				  @GTK2_LIBS@ 
-@@ -68,7 +67,6 @@
+@@ -68,7 +67,6 @@ libscim_x11utils at SCIM_EPOCH@_la_CXXFLAGS
  
- libscim_x11utils_1_0_la_LDFLAGS	= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
+ libscim_x11utils at SCIM_EPOCH@_la_LDFLAGS= -version-info $(SCIM_CURRENT):$(SCIM_REVISION):$(SCIM_AGE) \
  				  -export-dynamic \
 -				  -rpath $(libdir) \
  				  @LIBTOOL_EXPORT_OPTIONS@ \


Index: scim.spec
===================================================================
RCS file: /cvs/extras/rpms/scim/F-9/scim.spec,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -r1.118 -r1.119
--- scim.spec	30 Apr 2008 04:45:38 -0000	1.118
+++ scim.spec	27 Aug 2008 08:06:47 -0000	1.119
@@ -3,7 +3,7 @@
 
 Name:      scim
 Version:   1.4.7
-Release:   23%{?dist}
+Release:   24%{?dist}
 Summary:   Smart Common Input Method platform
 
 License:   LGPLv2+
@@ -25,17 +25,17 @@
 BuildRequires: doxygen
 %endif
 Requires:  %{name}-libs = %{version}-%{release}
-Requires: im-chooser
+Requires:  im-chooser
 Requires(post): %{_sbindir}/alternatives
 Requires(postun): %{_sbindir}/alternatives
 Obsoletes: iiimf-gtk <= 1:12.2, iiimf-gnome-im-switcher <= 1:12.2, iiimf-server <= 1:12.2, iiimf-x <= 1:12.2
 Patch1:    scim-add-restart.patch
-# Patch6:    scim-system-default-config.patch
 Patch7:    scim_panel_gtk-emacs-cc-style.patch
 Patch8:    initial-locale-hotkey-186861.patch
 Patch9:    scim_panel_gtk-icon-size-fixes.patch
 Patch11:   scim-1.4.5-panel-menu-fixes.patch
 Patch12:   scim-fix-unload-segfault.patch
+Patch14:   scim_x11_frontend-ic-focus-LTC27940-215953.patch
 Patch15:   scim-gtkimm-default-snooper-off-213796.patch
 Patch17:   scim-1.4.5-no-rpath-libdir.patch
 Patch19:   scim-1.4.7-remove-locale.patch
@@ -44,6 +44,10 @@
 Patch22:   scim-1.4.7-fix-gdm.patch
 Patch23:   scim-1.4.7-remove-help-frame.patch
 Patch24:   scim-1.4.7-translation-update-431995.patch
+Patch25:   scim-1.4.7-timeout.patch
+Patch26:   scim-1.4.7-trayicon.patch
+Patch27:   scim-1.4.7-menu-pos.patch
+Patch28:   scim-1.4.7-xim-wrong-format.patch
 
 %description
 SCIM is a user friendly and full featured input method user interface and
@@ -135,7 +139,7 @@
 %lang_meta_pkg sinhalese scim-sinhala scim-m17n m17n-db-sinhala m17n-contrib-sinhala
 %lang_meta_pkg tamil scim-m17n, m17n-db-tamil m17n-contrib-tamil
 %lang_meta_pkg telugu scim-m17n, m17n-db-telugu m17n-contrib-telugu
-%lang_meta_pkg thai scim-m17n, m17n-db-thai
+%lang_meta_pkg thai scim-m17n, m17n-db-thai scim-thai
 %lang_meta_pkg tibetan scim-m17n, m17n-db-tibetan
 
 
@@ -163,6 +167,7 @@
 %patch9 -p1 -b .9-icon-size~
 %patch11 -p1 -b .11-factory-menu~
 %patch12 -p1 -b .12-unloadsegfault~
+%patch14 -p1 -b .14-xim-focus~
 %patch15 -p1 -b .15-key-snooper~
 %patch17 -p1 -b .17-rpath~
 %patch19 -p1 -b .19-remove-locale~
@@ -171,6 +176,10 @@
 %patch22 -p1 -b .22-fix-gdm
 %patch23 -p1 -b .23-help-frame
 %patch24 -p1 -b .24-trans
+%patch25 -p1 -b .25-timeout
+%patch26 -p1 -b .26-trayicon
+%patch27 -p1 -b .27-menu-pos
+%patch28 -p1 -b .28-xim-wrong-format
 
 
 %if %{snapshot}
@@ -303,60 +312,77 @@
 
 
 %changelog
-* Wed Apr 30 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-23
+* Wed Aug 27 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-24.fc9
+- backport the following changes from rawhide:
+
+* Tue Aug 26 2008 Jens Petersen <petersen at redhat.com>
+- restore scim_x11_frontend-ic-focus-LTC27940-215953.patch (#440163)
+* Sat Aug 02 2008 Huang Peng <phuang at redhat.com>
+- add patch scim-1.4.7-xim-wrong-format.patch to fix bug 457566 by Akira TAGOH
+* Thu Jul 17 2008 Huang Peng <phuang at redhat.com>
+- add patch scim-1.4.7-menu-pos.patch to fix bug 444711.
+* Thu Jul 17 2008 Huang Peng <phuang at redhat.com>
+- add patch scim-1.4.7-timeout.patch to fix bug 444150.
+- add patch scim-1.4.7-trayicon.patch to fix bug 447848.
+* Mon Jun 30 2008 Jens Petersen <petersen at redhat.com>
+- make xinput script no longer require multilib immodules
+  (Julian Sikorski, #448268)
+- remove the hacks in xinput script counting the number of IMEs
+
+* Wed Apr 30 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-23.fc9
 - remove the multilib scim-bridge-gtk requires hack from scim-lang-* (#444681)
 
-* Wed Apr  9 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-22
+* Wed Apr  9 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-22.fc9
 - added translations for es, gu, hi, kn, ml, mr, pt_BR, ru, ta, te
   (Red Hat L10n Team, #431995)
 - added translations for sk and vi from upstream
 - updated translations for de, it, ja, ko, pa, zh_CN (Red Hat L10n Team)
 - scim-1.4.7-ja-sinhala-236715.patch is no longer required
 
-* Wed Apr 02 2008 Huang Peng <phuang at redhat.com> - 1.4.7-21
+* Wed Apr 02 2008 Huang Peng <phuang at redhat.com> - 1.4.7-21.fc9
 - Update scim.conf to check qtimm in qt4 folder for qtimm.
 - Re-add scim-1.4.7-fix-capslock.patch to fix bug #431222.
 
-* Thu Mar 20 2008 Huang Peng <phuang at redhat.com> - 1.4.7-20
+* Thu Mar 20 2008 Huang Peng <phuang at redhat.com> - 1.4.7-20.fc9
 - Replase scim-system-config.patch with scim-system-global.
 
-* Thu Mar 20 2008 Huang Peng <phuang at redhat.com> - 1.4.7-19
+* Thu Mar 20 2008 Huang Peng <phuang at redhat.com> - 1.4.7-19.fc9
 - Drop scim-system-config.patch and scim-1.4.7-fix-capslock.patch.
 - Ignore capslock mask to fix bug #431222.
 
-* Thu Mar 13 2008 Huang Peng <phuang at redhat.com> - 1.4.7-18
+* Thu Mar 13 2008 Huang Peng <phuang at redhat.com> - 1.4.7-18.fc9
 - Replace scim-pinyin to scim-python-pinyin for scim-lang-chinese
 
-* Mon Mar 10 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-17
+* Mon Mar 10 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-17.fc9
 - remove the frame around the help text in the help dialog
 
-* Wed Mar 5 2008 Huang Peng <phuang at redhat.com> - 1.4.7-16
+* Wed Mar 5 2008 Huang Peng <phuang at redhat.com> - 1.4.7-16.fc9
 - Remove scim-restart script for fixing #435889.
 
-* Tue Mar 4 2008 Huang Peng <phuang at redhat.com> - 1.4.7-15
+* Tue Mar 4 2008 Huang Peng <phuang at redhat.com> - 1.4.7-15.fc9
 - Let scim gtkim context work with gtk plug widget #251878.
 
-* Mon Mar 3 2008 Huang Peng <phuang at redhat.com> - 1.4.7-14
+* Mon Mar 3 2008 Huang Peng <phuang at redhat.com> - 1.4.7-14.fc9
 - Fix capslock problem #431222.
 
-* Mon Mar 3 2008 Huang Peng <phuang at redhat.com> - 1.4.7-13
+* Mon Mar 3 2008 Huang Peng <phuang at redhat.com> - 1.4.7-13,fc9
 - Fix fallback problem in gtkim module #235147.
 
-* Tue Feb 26 2008 Huang Peng <phuang at redhat.com> - 1.4.7-12
+* Tue Feb 26 2008 Huang Peng <phuang at redhat.com> - 1.4.7-12.fc9
 - Update to scim.conf to use /usr/bin/scim to start scim processes.
 
-* Thu Feb 21 2008 Huang Peng <phuang at redhat.com> - 1.4.7-11
+* Thu Feb 21 2008 Huang Peng <phuang at redhat.com> - 1.4.7-11.fc9
 - Update to scim.conf to make scim can work with imsettings.
 
-* Fri Feb 15 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-10
+* Fri Feb 15 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-10.fc9
 - make Wijesekera the default input method for Sinhala
 
-* Thu Feb 14 2008 Huang Peng <phuang at redhat.com> - 1.4.7-9
+* Thu Feb 14 2008 Huang Peng <phuang at redhat.com> - 1.4.7-9.fc9
 - remove support locales in gtk im-scim module to avoid gtk automatically
   picking up scim im module.
 - rebuild for gcc43
 
-* Mon Jan 21 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-8
+* Mon Jan 21 2008 Jens Petersen <petersen at redhat.com> - 1.4.7-8.fc9
 - change the default Simplified Chinese IME to scim-python Pinyin
 - do not set the trigger hotkey for all locale by default
 - remove unused ChangeFactoryGlobally key from system config


Index: xinput-scim
===================================================================
RCS file: /cvs/extras/rpms/scim/F-9/xinput-scim,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- xinput-scim	2 Apr 2008 07:27:42 -0000	1.18
+++ xinput-scim	27 Aug 2008 08:06:47 -0000	1.19
@@ -1,64 +1,37 @@
-# socket.so is not an IME
-IMENGINES=`ls /usr/lib*/scim-1.0/1.4.0/IMEngine | grep -v socket.so`
+XIM=SCIM
+XIM_PROGRAM=/usr/bin/scim
+XIM_ARGS=""
+PREFERENCE_PROGRAM=/usr/bin/scim-setup
+SHORT_DESC="SCIM"
 
-# check for m17n maps
-if echo $IMENGINES | grep -q m17n.so; then
-  if [ -z "`ls /usr/share/m17n/*.mim | grep -v global.mim`" ]; then
-     IMENGINES=`echo $IMENGINES | sed -e "s/m17n.so//"`
-  fi
-fi
-
-# check for scim-tables
-if echo $IMENGINES | grep -q table.so; then
-  if [ -z "`ls /usr/share/scim/tables`" ]; then
-     IMENGINES=`echo $IMENGINES | sed -e "s/table.so//"`
-  fi
-fi
-
-IMENGINE_NO=`echo $IMENGINES | wc -w`
-
-# start SCIM if have active IME(s) 
-if [ "$IMENGINE_NO" -ge 1 ]; then
-
-  XIM=SCIM
-  XIM_PROGRAM=/usr/bin/scim
-  XIM_ARGS=""
-  PREFERENCE_PROGRAM=/usr/bin/scim-setup
-  SHORT_DESC="SCIM"
-
-  gtkimm_exists () {
-	# for multilib check both immodules installed
+gtkimm_exists () {
+	# check if any immodules installed
 	for dir in /usr/lib*/gtk-2.0/immodules; do
-		[ ! -x ${dir}/im-$1.so ] && return 1
+		[ -x ${dir}/im-$1.so ] && return 0
 	done
-	return 0
+	return 1
 	}
 
-  if gtkimm_exists scim-bridge; then
-    GTK_IM_MODULE=scim-bridge
-  elif gtkimm_exists scim; then
-    GTK_IM_MODULE=scim
-  else
-    GTK_IM_MODULE=xim
-  fi
+if gtkimm_exists scim-bridge; then
+  GTK_IM_MODULE=scim-bridge
+elif gtkimm_exists scim; then
+  GTK_IM_MODULE=scim
+else
+  GTK_IM_MODULE=xim
+fi
 
-  qtimm_exists () {
-	# for multilib check both immodules installed
+qtimm_exists () {
+	# check if any immodule installed
 	for dir in /usr/lib*/qt4/plugins/inputmethods; do
-		[ ! -x ${dir}/$1.so ] && return 1
+		[ -x ${dir}/$1.so ] && return 0
 	done
-	return 0
+	return 1
 	}
 
-  if qtimm_exists im-scim-bridge; then
-    QT_IM_MODULE=scim-bridge
-  elif qtimm_exists libqscim; then
-    QT_IM_MODULE=scim
-  else
-    QT_IM_MODULE=xim
-  fi
-
+if qtimm_exists im-scim-bridge; then
+  QT_IM_MODULE=scim-bridge
+elif qtimm_exists libqscim; then
+  QT_IM_MODULE=scim
 else
-  echo "No SCIM IMEs found: SCIM startup was skipped."
-  . /etc/X11/xinit/xinput.d/none.conf
+  QT_IM_MODULE=xim
 fi




More information about the scm-commits mailing list