g_show_client = client;
int angle = 0;
- if (client_surface_ec) angle = client_surface_ec->e.state.rot.ang.curr;
+ if (client_surface_ec)
+ {
+ E_Util_Transform *transform = &client_surface_ec->transform_core.result.transform;
+ Eina_Bool transformEnabled = e_client_transform_core_enable_get(client_surface_ec);
+
+ if (transformEnabled && transform != 0)
+ e_util_transform_rotation_round_get(transform, NULL, NULL, &angle);
+ else
+ angle = client_surface_ec->e.state.rot.ang.curr;
+ }
+
wl_input_method_send_show_input_panel(input_method->resource, input_method->context->resource, angle);
/* we need to force update in order to release buffer