Bug 199740

Summary: allow xklavier-4.0 support in kcontrol/kxkb/xklavier_adaptor.cpp
Product: kxkb Reporter: John Stanley <jpsinthemix>
Component: generalAssignee: Andriy Rysin <arysin>
Status: RESOLVED FIXED    
Severity: wishlist    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description John Stanley 2009-07-11 02:07:55 UTC
Version:            (using KDE 4.2.4)
Compiler:          gcc-4.4.0 linux-2.6.30.1 glibc-2.10.1
OS:                Linux
Installed from:    Compiled From Sources

I am unable to build kdebase-workspace-4.2.95/6 with xklavier-4.0 without the following simple modification:

--- kdebase-workspace-4.2.96.old/kcontrol/kxkb/xklavier_adaptor.cpp     2008-05-15 14:37:15.000000000 -0400
+++ kdebase-workspace-4.2.96.new/kcontrol/kxkb/xklavier_adaptor.cpp     2009-07-09 20:22:31.619453110 -0400
@@ -222,7 +222,10 @@
     kDebug() << "Xklavier initialized";
     priv->config = xkl_config_registry_get_instance(priv->engine);

-    xkl_config_registry_load(priv->config);
+    // For libxklavier-4.0:
+    xkl_config_registry_load(priv->config, false);
+    // For libxklavier-3.x:
+    //xkl_config_registry_load(priv->config);

     void *userData = priv;
Comment 1 Pino Toscano 2009-07-11 02:22:08 UTC
This has been done (not by me) in KDE 4.3 rc2.
A compile time check is able to detect the version of the xklavier library, and thus use the right call.
Comment 2 John Stanley 2009-07-11 08:19:34 UTC
(In reply to comment #1)
> This has been done (not by me) in KDE 4.3 rc2.
> A compile time check is able to detect the version of the xklavier library, and
> thus use the right call.

Sounds good, but I have kde-4.2.96 code which I am about to build, and looking at the the above mentioned code, it looks no different from kde-4.2.95. I'll try w/o the patch and get back if it fails. Thanks much, and thanks to you and all for kde4 -- been using it as the default desktop on my thinkpads since 4.2 w/o serious issues.
Comment 3 Andriy Rysin 2009-07-11 14:42:48 UTC
It's been properly fixed in the trunk - by detecting library version and doing ifdef so we just need to backport the changes (992187 + 991943 + 992182).
But I'll be away from the computer for several days so I can try to apply it next week unless somebody can do it quicker.