Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package xcb-imdkit for openSUSE:Factory 
checked in at 2024-01-29 22:33:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xcb-imdkit (Old)
 and      /work/SRC/openSUSE:Factory/.xcb-imdkit.new.1815 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xcb-imdkit"

Mon Jan 29 22:33:34 2024 rev:4 rq:1142392 version:1.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/xcb-imdkit/xcb-imdkit.changes    2023-03-31 
21:15:56.946503652 +0200
+++ /work/SRC/openSUSE:Factory/.xcb-imdkit.new.1815/xcb-imdkit.changes  
2024-01-29 22:34:23.681126441 +0100
@@ -1,0 +2,6 @@
+Sat Jan 27 17:25:20 UTC 2024 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.0.6:
+  * Try alternative way to set event mask
+
+-------------------------------------------------------------------

Old:
----
  xcb-imdkit-1.0.5.tar.xz

New:
----
  xcb-imdkit-1.0.6.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xcb-imdkit.spec ++++++
--- /var/tmp/diff_new_pack.RnhSu6/_old  2024-01-29 22:34:24.109141933 +0100
+++ /var/tmp/diff_new_pack.RnhSu6/_new  2024-01-29 22:34:24.109141933 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package xcb-imdkit
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %define _suffix 1
 Name:           xcb-imdkit
-Version:        1.0.5
+Version:        1.0.6
 Release:        0
 Summary:        An implementation of xim protocol in xcb
 License:        LGPL-2.1-only

++++++ xcb-imdkit-1.0.5.tar.xz -> xcb-imdkit-1.0.6.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/CMakeLists.txt 
new/xcb-imdkit-1.0.6/CMakeLists.txt
--- old/xcb-imdkit-1.0.5/CMakeLists.txt 2023-03-11 05:01:16.642233800 +0100
+++ new/xcb-imdkit-1.0.6/CMakeLists.txt 2024-01-02 18:31:13.565625000 +0100
@@ -1,5 +1,5 @@
 cmake_minimum_required(VERSION 3.8)
-project(xcb-imdkit VERSION 1.0.5)
+project(xcb-imdkit VERSION 1.0.6)
 
 find_package(ECM 0.0.11 REQUIRED NO_MODULE)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" 
${CMAKE_MODULE_PATH})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/src/imdkit.c 
new/xcb-imdkit-1.0.6/src/imdkit.c
--- old/xcb-imdkit-1.0.5/src/imdkit.c   2022-11-13 03:21:06.846635800 +0100
+++ new/xcb-imdkit-1.0.6/src/imdkit.c   2024-01-02 06:43:45.080808400 +0100
@@ -891,22 +891,19 @@
 }
 
 void xcb_im_preedit_start(xcb_im_t *im, xcb_im_input_context_t *ic) {
-    if (im->onKeys.nKeys == 0 && im->offKeys.nKeys == 0) {
+    if (!_xcb_im_has_trigger_key(im)) {
         return;
     }
 
-    uint32_t sync_event_mask = im->use_sync_event ? 0 : im->event_mask;
-    sync_event_mask = ~sync_event_mask;
-    _xcb_im_set_event_mask(im, ic->client, ic->id, im->event_mask,
-                           sync_event_mask);
+    _xcb_im_set_ic_event_mask(im, ic);
 }
 
 void xcb_im_preedit_end(xcb_im_t *im, xcb_im_input_context_t *ic) {
-    if (im->onKeys.nKeys == 0 && im->offKeys.nKeys == 0) {
+    if (!_xcb_im_has_trigger_key(im)) {
         return;
     }
 
-    _xcb_im_set_event_mask(im, ic->client, ic->id, 0, 0);
+    _xcb_im_send_set_event_mask(im, ic->client, ic->id, 0, 0);
 }
 
 void xcb_im_sync_xlib(xcb_im_t *im, xcb_im_input_context_t *ic) {
@@ -1019,9 +1016,9 @@
     im->free_list = client;
 }
 
-void _xcb_im_set_event_mask(xcb_im_t *im, xcb_im_client_t *client,
-                            uint32_t icid, uint32_t forward_event_mask,
-                            uint32_t sync_mask) {
+void _xcb_im_send_set_event_mask(xcb_im_t *im, xcb_im_client_t *client,
+                                 uint32_t icid, uint32_t forward_event_mask,
+                                 uint32_t sync_mask) {
     xcb_im_set_event_mask_fr_t frame;
     frame.forward_event_mask = forward_event_mask;
     frame.synchronous_event_mask = sync_mask;
@@ -1169,6 +1166,22 @@
     return false;
 }
 
+void _xcb_im_set_ic_event_mask(xcb_im_t *im, xcb_im_input_context_t *ic) {
+    DebugLog("xcb_im_set_ic_event_mask");
+    uint32_t sync_event_mask = im->use_sync_event ? 0 : im->event_mask;
+    sync_event_mask = ~sync_event_mask;
+    _xcb_im_send_set_event_mask(im, ic->client, ic->id, im->event_mask,
+                                sync_event_mask);
+}
+
+void _xcb_im_set_im_event_mask(xcb_im_t *im, xcb_im_client_t *client) {
+    DebugLog("xcb_im_set_im_event_mask");
+    uint32_t sync_event_mask = im->use_sync_event ? 0 : im->event_mask;
+    sync_event_mask = ~sync_event_mask;
+    // Zero id means set im forward mask.
+    _xcb_im_send_set_event_mask(im, client, 0, im->event_mask, 
sync_event_mask);
+}
+
 void xcb_im_input_context_set_data(xcb_im_input_context_t *ic, void *data,
                                    xcb_im_free_function free_data_function) {
     if (ic->free_data_function) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/src/imdkit.h 
new/xcb-imdkit-1.0.6/src/imdkit.h
--- old/xcb-imdkit-1.0.5/src/imdkit.h   2020-12-07 18:10:57.877028700 +0100
+++ new/xcb-imdkit-1.0.6/src/imdkit.h   2024-01-02 06:40:20.535967000 +0100
@@ -7,6 +7,7 @@
 #ifndef _XCB_IMDKIT_IMDKIT_H_
 #define _XCB_IMDKIT_IMDKIT_H_
 
+#include "xcbimdkit_export.h"
 #include "ximcommon.h"
 #include "ximproto.h"
 #include <stdbool.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/src/imdkit_p.h 
new/xcb-imdkit-1.0.6/src/imdkit_p.h
--- old/xcb-imdkit-1.0.5/src/imdkit_p.h 2022-11-13 03:21:06.899969300 +0100
+++ new/xcb-imdkit-1.0.6/src/imdkit_p.h 2024-01-02 06:40:20.535967000 +0100
@@ -275,11 +275,16 @@
 
 void _xcb_im_destroy_client(xcb_im_t *im, xcb_im_client_t *client);
 void _xcb_im_destroy_ic(xcb_im_t *im, xcb_im_input_context_t *ic);
-void _xcb_im_set_event_mask(xcb_im_t *im, xcb_im_client_t *client,
-                            uint32_t icid, uint32_t forward_event_mask,
-                            uint32_t sync_mask);
+void _xcb_im_send_set_event_mask(xcb_im_t *im, xcb_im_client_t *client,
+                                 uint32_t icid, uint32_t forward_event_mask,
+                                 uint32_t sync_mask);
+void _xcb_im_set_ic_event_mask(xcb_im_t *im, xcb_im_input_context_t *client);
+void _xcb_im_set_im_event_mask(xcb_im_t *im, xcb_im_client_t *ic);
 void _xcb_im_add_queue(xcb_im_t *im, xcb_im_client_t *client, uint16_t icid,
                        const xcb_im_packet_header_fr_t *hdr,
                        xcb_im_forward_event_fr_t *frame, uint8_t *data);
 void _xcb_im_process_queue(xcb_im_t *im, xcb_im_client_t *client);
+static inline bool _xcb_im_has_trigger_key(xcb_im_t *im) {
+    return im->onKeys.nKeys || im->offKeys.nKeys;
+}
 #endif // _XCB_IMDKIT_IMDKIT_P_H_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/src/protocolhandler.c 
new/xcb-imdkit-1.0.6/src/protocolhandler.c
--- old/xcb-imdkit-1.0.5/src/protocolhandler.c  2021-03-01 02:39:14.402083400 
+0100
+++ new/xcb-imdkit-1.0.6/src/protocolhandler.c  2024-01-02 07:16:15.430445700 
+0100
@@ -63,10 +63,6 @@
     }
 
     xcb_im_open_fr_free(&frame);
-    /*endif*/
-    if (im->onKeys.nKeys || im->offKeys.nKeys) {
-        _xcb_im_send_trigger_key(im, client);
-    }
 
     xcb_im_open_reply_fr_t reply_frame;
     reply_frame.input_method_ID = client->connect_id;
@@ -76,6 +72,11 @@
     reply_frame.IC_attribute_supported.items = im->icattr;
 
     _xcb_im_send_frame(im, client, reply_frame, true);
+    if (_xcb_im_has_trigger_key(im)) {
+        _xcb_im_send_trigger_key(im, client);
+    } else {
+        _xcb_im_set_im_event_mask(im, client);
+    }
 }
 
 void _xcb_im_handle_close(xcb_im_t *im, xcb_im_client_t *client,
@@ -363,11 +364,8 @@
         }
 
         _xcb_im_send_frame(im, client, reply_frame, true);
-        if (im->onKeys.nKeys == 0 && im->offKeys.nKeys == 0) {
-            uint32_t sync_event_mask = im->use_sync_event ? 0 : im->event_mask;
-            sync_event_mask = ~sync_event_mask;
-            _xcb_im_set_event_mask(im, client, reply_frame.input_context_ID,
-                                   im->event_mask, sync_event_mask);
+        if (!_xcb_im_has_trigger_key(im)) {
+            _xcb_im_set_ic_event_mask(im, ic);
         }
         xcb_im_create_ic_fr_free(&frame);
         return;
@@ -602,6 +600,9 @@
             break;
         }
 
+        if (!_xcb_im_has_trigger_key(im)) {
+            _xcb_im_set_ic_event_mask(im, ic);
+        }
         if (im->callback) {
             im->callback(im, client, ic, hdr, &frame, NULL, im->user_data);
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcb-imdkit-1.0.5/src/ximproto_p.h 
new/xcb-imdkit-1.0.6/src/ximproto_p.h
--- old/xcb-imdkit-1.0.5/src/ximproto_p.h       2022-09-16 09:09:56.424637600 
+0200
+++ new/xcb-imdkit-1.0.6/src/ximproto_p.h       2024-01-02 06:43:45.694136100 
+0100
@@ -7,52 +7,51 @@
 #ifndef _XCB_IMDKIT_XIMPROTO_P_H_
 #define _XCB_IMDKIT_XIMPROTO_P_H_
 
-#define XIM_PROTO_FRAME_OPCODE(FRAME)                                          
\
-    _Generic((FRAME), xcb_im_connect_reply_fr_t                                
\
-             : XCB_XIM_CONNECT_REPLY, xcb_im_open_fr_t                         
\
-             : XCB_XIM_OPEN, xcb_im_open_reply_fr_t                            
\
-             : XCB_XIM_OPEN_REPLY, xcb_im_close_fr_t                           
\
-             : XCB_XIM_CLOSE, xcb_im_close_reply_fr_t                          
\
-             : XCB_XIM_CLOSE_REPLY, xcb_im_query_extension_fr_t                
\
-             : XCB_XIM_QUERY_EXTENSION, xcb_im_query_extension_reply_fr_t      
\
-             : XCB_XIM_QUERY_EXTENSION_REPLY, xcb_im_encoding_negotiation_fr_t 
\
-             : XCB_XIM_ENCODING_NEGOTIATION,                                   
\
-               xcb_im_encoding_negotiation_reply_fr_t                          
\
-             : XCB_XIM_ENCODING_NEGOTIATION_REPLY, xcb_im_get_im_values_fr_t   
\
-             : XCB_XIM_GET_IM_VALUES, xcb_im_get_im_values_reply_fr_t          
\
-             : XCB_XIM_GET_IM_VALUES_REPLY, xcb_im_set_event_mask_fr_t         
\
-             : XCB_XIM_SET_EVENT_MASK, xcb_im_create_ic_fr_t                   
\
-             : XCB_XIM_CREATE_IC, xcb_im_create_ic_reply_fr_t                  
\
-             : XCB_XIM_CREATE_IC_REPLY, xcb_im_set_ic_values_fr_t              
\
-             : XCB_XIM_SET_IC_VALUES, xcb_im_set_ic_values_reply_fr_t          
\
-             : XCB_XIM_SET_IC_VALUES_REPLY, xcb_im_get_ic_values_fr_t          
\
-             : XCB_XIM_GET_IC_VALUES, xcb_im_get_ic_values_reply_fr_t          
\
-             : XCB_XIM_GET_IC_VALUES_REPLY, xcb_im_register_triggerkeys_fr_t   
\
-             : XCB_XIM_REGISTER_TRIGGERKEYS, xcb_im_destroy_ic_fr_t            
\
-             : XCB_XIM_DESTROY_IC, xcb_im_destroy_ic_reply_fr_t                
\
-             : XCB_XIM_DESTROY_IC_REPLY, xcb_im_reset_ic_fr_t                  
\
-             : XCB_XIM_RESET_IC, xcb_im_reset_ic_reply_fr_t                    
\
-             : XCB_XIM_RESET_IC_REPLY, xcb_im_trigger_notify_fr_t              
\
-             : XCB_XIM_TRIGGER_NOTIFY, xcb_im_trigger_notify_reply_fr_t        
\
-             : XCB_XIM_TRIGGER_NOTIFY_REPLY, xcb_im_preedit_start_fr_t         
\
-             : XCB_XIM_PREEDIT_START, xcb_im_preedit_draw_fr_t                 
\
-             : XCB_XIM_PREEDIT_DRAW, xcb_im_preedit_caret_fr_t                 
\
-             : XCB_XIM_PREEDIT_CARET, xcb_im_preedit_done_fr_t                 
\
-             : XCB_XIM_PREEDIT_DONE, xcb_im_status_start_fr_t                  
\
-             : XCB_XIM_STATUS_START, xcb_im_status_draw_text_fr_t              
\
-             : XCB_XIM_STATUS_DRAW, xcb_im_status_draw_bitmap_fr_t             
\
-             : XCB_XIM_STATUS_DRAW, xcb_im_status_done_fr_t                    
\
-             : XCB_XIM_STATUS_DONE, xcb_im_commit_chars_fr_t                   
\
-             : XCB_XIM_COMMIT, xcb_im_commit_both_fr_t                         
\
-             : XCB_XIM_COMMIT, xcb_im_connect_fr_t                             
\
-             : XCB_XIM_CONNECT, xcb_im_disconnect_fr_t                         
\
-             : XCB_XIM_DISCONNECT, xcb_im_disconnect_reply_fr_t                
\
-             : XCB_XIM_DISCONNECT_REPLY, xcb_im_set_ic_focus_fr_t              
\
-             : XCB_XIM_SET_IC_FOCUS, xcb_im_unset_ic_focus_fr_t                
\
-             : XCB_XIM_UNSET_IC_FOCUS, xcb_im_sync_fr_t                        
\
-             : XCB_XIM_SYNC, xcb_im_sync_reply_fr_t                            
\
-             : XCB_XIM_SYNC_REPLY, xcb_im_geometry_fr_t                        
\
-             : XCB_XIM_GEOMETRY)
+#define XIM_PROTO_FRAME_OPCODE(FRAME)                                          
     \
+    _Generic((FRAME),                                                          
     \
+        xcb_im_connect_reply_fr_t: XCB_XIM_CONNECT_REPLY,                      
     \
+        xcb_im_open_fr_t: XCB_XIM_OPEN,                                        
     \
+        xcb_im_open_reply_fr_t: XCB_XIM_OPEN_REPLY,                            
     \
+        xcb_im_close_fr_t: XCB_XIM_CLOSE,                                      
     \
+        xcb_im_close_reply_fr_t: XCB_XIM_CLOSE_REPLY,                          
     \
+        xcb_im_query_extension_fr_t: XCB_XIM_QUERY_EXTENSION,                  
     \
+        xcb_im_query_extension_reply_fr_t: XCB_XIM_QUERY_EXTENSION_REPLY,      
     \
+        xcb_im_encoding_negotiation_fr_t: XCB_XIM_ENCODING_NEGOTIATION,        
     \
+        xcb_im_encoding_negotiation_reply_fr_t: 
XCB_XIM_ENCODING_NEGOTIATION_REPLY, \
+        xcb_im_get_im_values_fr_t: XCB_XIM_GET_IM_VALUES,                      
     \
+        xcb_im_get_im_values_reply_fr_t: XCB_XIM_GET_IM_VALUES_REPLY,          
     \
+        xcb_im_set_event_mask_fr_t: XCB_XIM_SET_EVENT_MASK,                    
     \
+        xcb_im_create_ic_fr_t: XCB_XIM_CREATE_IC,                              
     \
+        xcb_im_create_ic_reply_fr_t: XCB_XIM_CREATE_IC_REPLY,                  
     \
+        xcb_im_set_ic_values_fr_t: XCB_XIM_SET_IC_VALUES,                      
     \
+        xcb_im_set_ic_values_reply_fr_t: XCB_XIM_SET_IC_VALUES_REPLY,          
     \
+        xcb_im_get_ic_values_fr_t: XCB_XIM_GET_IC_VALUES,                      
     \
+        xcb_im_get_ic_values_reply_fr_t: XCB_XIM_GET_IC_VALUES_REPLY,          
     \
+        xcb_im_register_triggerkeys_fr_t: XCB_XIM_REGISTER_TRIGGERKEYS,        
     \
+        xcb_im_destroy_ic_fr_t: XCB_XIM_DESTROY_IC,                            
     \
+        xcb_im_destroy_ic_reply_fr_t: XCB_XIM_DESTROY_IC_REPLY,                
     \
+        xcb_im_reset_ic_fr_t: XCB_XIM_RESET_IC,                                
     \
+        xcb_im_reset_ic_reply_fr_t: XCB_XIM_RESET_IC_REPLY,                    
     \
+        xcb_im_trigger_notify_fr_t: XCB_XIM_TRIGGER_NOTIFY,                    
     \
+        xcb_im_trigger_notify_reply_fr_t: XCB_XIM_TRIGGER_NOTIFY_REPLY,        
     \
+        xcb_im_preedit_start_fr_t: XCB_XIM_PREEDIT_START,                      
     \
+        xcb_im_preedit_draw_fr_t: XCB_XIM_PREEDIT_DRAW,                        
     \
+        xcb_im_preedit_caret_fr_t: XCB_XIM_PREEDIT_CARET,                      
     \
+        xcb_im_preedit_done_fr_t: XCB_XIM_PREEDIT_DONE,                        
     \
+        xcb_im_status_start_fr_t: XCB_XIM_STATUS_START,                        
     \
+        xcb_im_status_draw_text_fr_t: XCB_XIM_STATUS_DRAW,                     
     \
+        xcb_im_status_draw_bitmap_fr_t: XCB_XIM_STATUS_DRAW,                   
     \
+        xcb_im_status_done_fr_t: XCB_XIM_STATUS_DONE,                          
     \
+        xcb_im_commit_chars_fr_t: XCB_XIM_COMMIT,                              
     \
+        xcb_im_commit_both_fr_t: XCB_XIM_COMMIT,                               
     \
+        xcb_im_connect_fr_t: XCB_XIM_CONNECT,                                  
     \
+        xcb_im_disconnect_fr_t: XCB_XIM_DISCONNECT,                            
     \
+        xcb_im_disconnect_reply_fr_t: XCB_XIM_DISCONNECT_REPLY,                
     \
+        xcb_im_set_ic_focus_fr_t: XCB_XIM_SET_IC_FOCUS,                        
     \
+        xcb_im_unset_ic_focus_fr_t: XCB_XIM_UNSET_IC_FOCUS,                    
     \
+        xcb_im_sync_fr_t: XCB_XIM_SYNC,                                        
     \
+        xcb_im_sync_reply_fr_t: XCB_XIM_SYNC_REPLY,                            
     \
+        xcb_im_geometry_fr_t: XCB_XIM_GEOMETRY)
 
 #define XCB_XIM_ATOM_ROTATION_SIZE 1024
 

Reply via email to