evas_object_smart_callback_call(inputMethodContext->m_viewImpl->view(), "editorclient,ime,opened", 0);
}
-void InputMethodContextEfl::onIMFInputPanelGeometryChanged(void* data, Ecore_IMF_Context*, int value)
+void InputMethodContextEfl::onIMFInputPanelGeometryChanged(void* data, Ecore_IMF_Context*, int)
{
InputMethodContextEfl* inputMethodContext = static_cast<InputMethodContextEfl*>(data);
+ if (!inputMethodContext->m_context)
+ return;
Eina_Rectangle rect;
ecore_imf_context_input_panel_geometry_get(inputMethodContext->m_context.get(), &rect.x, &rect.y, &rect.w, &rect.h);
void InputMethodContextEfl::onIMFCandidatePanelGeometryChanged(void* data, Ecore_IMF_Context*, int)
{
InputMethodContextEfl* inputMethodContext = static_cast<InputMethodContextEfl*>(data);
+ if (!inputMethodContext->m_context)
+ return;
Eina_Rectangle rect;
ecore_imf_context_candidate_panel_geometry_get(inputMethodContext->m_context.get(), &rect.x, &rect.y, &rect.w, &rect.h);
void InputMethodContextEfl::handleKeyDownEvent(const Evas_Event_Key_Down* downEvent, bool* isFiltered)
{
+#if ENABLE(TIZEN_ISF_PORT)
+ if (!m_context)
+ return;
+#endif
+
Ecore_IMF_Event inputMethodEvent;
ecore_imf_evas_event_key_down_wrap(const_cast<Evas_Event_Key_Down*>(downEvent), &inputMethodEvent.key_down);
else
context = takeContext(editor.inputMethodContextID);
+ revertIMFContext();
+
if (!context) {
context = createIMFContext(evas_object_evas_get(m_viewImpl->view()));
+ if (!context)
+ return;
initializeIMFContext(context.get(), layout, layoutVariation, returnKeyType);
}
- revertIMFContext();
m_context = context.release();
m_contextID = editor.inputMethodContextID;
}
setIMFContext(editor);
+ if (!m_context)
+ return;
if (!hasFocus) {
m_focused = true;