tags 510851 + patch
thanks
Patch was taken from https://bugzilla.novell.com/206547 and fixes
this problem for me. I would suggest that it should be fixed in
scim-qtimm and not in kdesktop at the moment.
Best regards,
Sven Eckelmann
---
debian/patches/00list | 1 +
debian/patches/20_reset-frontend-data.dpatch | 46 ++++++++++++++++++++++
2 files changed, 47 insertions(+), 0 deletions(-)
mode change 100644 => 100755 debian/patches/10_qt-immodule_install_dir.dpatch
create mode 100755 debian/patches/20_reset-frontend-data.dpatch
diff --git a/debian/patches/00list b/debian/patches/00list
index 1476fdc..4eec796 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -1 +1,2 @@
10_qt-immodule_install_dir.dpatch
+20_reset-frontend-data.dpatch
diff --git a/debian/patches/10_qt-immodule_install_dir.dpatch
b/debian/patches/10_qt-immodule_install_dir.dpatch
old mode 100644
new mode 100755
diff --git a/debian/patches/20_reset-frontend-data.dpatch
b/debian/patches/20_reset-frontend-data.dpatch
new file mode 100755
index 0000000..aadd7a2
--- /dev/null
+++ b/debian/patches/20_reset-frontend-data.dpatch
@@ -0,0 +1,46 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 20_reset-frontend-data.dpatch by <[email protected]>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP:
+
+...@dpatch@
+
+diff --git a/src/qsciminputcontext.cpp b/src/qsciminputcontext.cpp
+index 0123952..6e8b554 100644
+--- a/src/qsciminputcontext.cpp
++++ b/src/qsciminputcontext.cpp
+@@ -659,6 +659,9 @@ QScimInputContext::QScimInputContext()
+ if (global.shared_input_method)
+ m_is_on = global.config->read (String
(SCIM_CONFIG_FRONTEND_IM_OPENED_BY_DEFAULT), m_is_on);
+
++ // Associate this context with the instance.
++ m_instance->set_frontend_data (static_cast<void*> (this));
++
+ global.panel_client->prepare (m_id);
+ global.panel_client->register_input_context (m_id,
m_instance->get_factory_uuid ());
+ set_ic_capabilities ();
+@@ -901,6 +904,7 @@ QScimInputContext::finalize ()
+ if (!global.panel_exited) {
+ global.panel_client->prepare (m_id);
+
++ m_instance->set_frontend_data (static_cast<void*>(this));
+ if (global.focused_ic == this)
+ m_instance->focus_out ();
+
+@@ -911,6 +915,7 @@ QScimInputContext::finalize ()
+ QScimInputContext *old_focused = global.focused_ic;
+ global.focused_ic = this;
+ // XXX: Free the smart pointer, not reset the instance.
++ m_instance->set_frontend_data (0);
+ m_instance.reset ();
+ global.focused_ic = old_focused;
+
+@@ -922,6 +927,7 @@ QScimInputContext::finalize ()
+ global.panel_client->remove_input_context (m_id);
+ global.panel_client->send ();
+ } else {
++ m_instance->set_frontend_data (0);
+ m_instance.reset ();
+ }
+ }
--
1.6.0.6
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]