EINTERN void
e_mod_pol_rotation_init(void)
{
+ E_Zone *zone;
+ Eina_List *l;
+
if (!eina_init())
return;
e_mod_rot_wl_init();
#endif
+ EINA_LIST_FOREACH(e_comp->zones, l, zone)
+ {
+ e_zone_orientation_callback_set(zone,
+ e_zone_rotation_block_set,
+ e_mod_pol_rotation_force_update_add,
+ e_mod_pol_rotation_force_update_del);
+ }
+
if (E_EVENT_INFO_ROTATION_MESSAGE != -1)
{
E_LIST_HANDLER_APPEND(_event_handlers, E_EVENT_INFO_ROTATION_MESSAGE,
EINTERN int e_client_rotation_curr_angle_get(const E_Client *ec);
EINTERN void e_mod_pol_rotation_init(void);
EINTERN void e_mod_pol_rotation_shutdown(void);
-EINTERN void e_mod_pol_rotation_force_update_add(E_Client *ec);
-EINTERN void e_mod_pol_rotation_force_update_del(E_Client *ec);
+EINTERN void e_mod_pol_rotation_force_update_add(E_Zone *zone, E_Client *ec);
+EINTERN void e_mod_pol_rotation_force_update_del(E_Zone *zone, E_Client *ec);
#include "e_mod_rotation.x"
#endif
}
EINTERN void
-e_mod_pol_rotation_force_update_add(E_Client *ec)
+e_mod_pol_rotation_force_update_add(E_Zone *zone EINA_UNUSED, E_Client *ec)
{
rot.force_update_list = eina_list_append(rot.force_update_list, ec);
}
EINTERN void
-e_mod_pol_rotation_force_update_del(E_Client *ec)
+e_mod_pol_rotation_force_update_del(E_Zone *zone EINA_UNUSED, E_Client *ec)
{
rot.force_update_list = eina_list_remove(rot.force_update_list, ec);
}
_quickpanel_free(qp);
- e_mod_pol_rotation_force_update_del(ec);
+ e_mod_pol_rotation_force_update_del(ec->zone, ec);
}
static void
ec->e.state.rot.type = E_CLIENT_ROTATION_TYPE_DEPENDENT;
/* force update rotation for quickpanel */
- e_mod_pol_rotation_force_update_add(ec);
+ e_mod_pol_rotation_force_update_add(ec->zone, ec);
QP_HIDE(ec);