Notifies input_server about the focus view IM awareness when the window is (de)activated

This fixes the last part of bug #658 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19166 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2006-11-01 16:01:04 +00:00
parent 06ab845986
commit fbeb1fca5f
+13
View File
@@ -900,6 +900,19 @@ FrameMoved(origin);
// call hook function 'WindowActivated(bool)' for all
// views attached to this window.
fTopView->_Activate(active);
// we notify the input server if we are gaining or losing focus
// from a view which has the B_INPUT_METHOD_AWARE on a window
// (de)activation
bool inputMethodAware = false;
if (fFocus)
inputMethodAware = fFocus->Flags() & B_INPUT_METHOD_AWARE;
BMessage msg(active && inputMethodAware ? IS_FOCUS_IM_AWARE_VIEW : IS_UNFOCUS_IM_AWARE_VIEW);
BMessenger messenger(fFocus);
BMessage reply;
if (fFocus)
msg.AddMessenger("view", messenger);
_control_input_server_(&msg, &reply);
}
} else
target->MessageReceived(msg);