Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.4
scim-bridge
scim-bridge-remember-focus-state.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File scim-bridge-remember-focus-state.patch of Package scim-bridge
Index: scim-bridge-0.4.15/agent/scim-bridge-agent-imcontext.cpp =================================================================== --- scim-bridge-0.4.15.orig/agent/scim-bridge-agent-imcontext.cpp +++ scim-bridge-0.4.15/agent/scim-bridge-agent-imcontext.cpp @@ -146,6 +146,7 @@ class ScimBridgeAgentIMContextImpl: publ IMEngineInstancePointer imengine; bool enabled; + bool focused; scim_bridge_preedit_mode_t preedit_mode; bool preedit_shown; @@ -274,7 +275,7 @@ void ScimBridgeAgentIMContext::set_on_th ScimBridgeAgentIMContextImpl::ScimBridgeAgentIMContextImpl (ScimBridgeAgentClientListener *new_client_listener): -client_listener (new_client_listener), imengine (NULL), enabled (false), preedit_mode (PREEDIT_ANY), +client_listener (new_client_listener), imengine (NULL), enabled (false), focused(false) ,preedit_mode (PREEDIT_ANY), preedit_shown (false), preedit_cursor_position (0) { if (free_imcontexts.empty ()) { @@ -646,6 +647,8 @@ void ScimBridgeAgentIMContextImpl::focus panel_listener->hide_aux_string (); panel_listener->hide_lookup_table (); hide_preedit (); + + focused = true; } @@ -653,6 +656,9 @@ void ScimBridgeAgentIMContextImpl::focus { ScimBridgeAgentIMContext *focused_imcontext = static_cast<ScimBridgeAgentIMContext*> (get_imengine ()->get_frontend_data ()); + if ( !focused ) + return; + get_imengine ()->set_frontend_data (static_cast<ScimBridgeAgentIMContext*> (this)); hide_preedit (); @@ -666,6 +672,8 @@ void ScimBridgeAgentIMContextImpl::focus } else { imengine->set_frontend_data (NULL); } + + focused = false; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor