diff --git a/src/bin/e_border.c b/src/bin/e_border.c index a685a17fb..44dd10f7c 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -1408,7 +1408,7 @@ static void _e_border_del(E_Border *bd) { E_Event_Border_Remove *ev; - + ev = calloc(1, sizeof(E_Event_Border_Remove)); ev->border = bd; /* FIXME Don't ref this during shutdown. And the event is pointless @@ -1425,7 +1425,11 @@ _e_border_cb_window_show_request(void *data, int ev_type, void *ev) e = ev; bd = e_border_find_by_client_window(e->win); - if (!bd) return 1; + if (!bd) + { + printf("BUG: Need this border: 0x%x\n", e->win); + return 1; + } return 1; } @@ -1517,46 +1521,25 @@ _e_border_cb_window_configure_request(void *data, int ev_type, void *ev) (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING) ? 'C':' ', (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) ? 'S':' ' ); + + if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) || + (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y)) { - if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) || - (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y)) - { - int x, y; + int x, y; - y = bd->y; - x = bd->x; - printf("##- ASK FOR 0x%x TO MOVE TO [FLG X%liY%li] %i,%i\n", - bd->client.win, - e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X, - e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y, - x, y); - if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) - x = e->x; - if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y) - y = e->y; - if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || - (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) - { - int w, h; - - h = bd->h; - w = bd->w; - if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) - w = e->w + bd->client_inset.l + bd->client_inset.r; - if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H) - h = e->h + bd->client_inset.t + bd->client_inset.b; - printf("##- ASK FOR 0x%x TO RESIZE TO [FLG W%liH%li] %i,%i\n", - bd->client.win, - e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W, - e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H, - e->w, e->h); - e_border_move_resize(bd, x, y, w, h); - } - else - e_border_move(bd, x, y); - } - else if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || - (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) + y = bd->y; + x = bd->x; + printf("##- ASK FOR 0x%x TO MOVE TO [FLG X%liY%li] %i,%i\n", + bd->client.win, + e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X, + e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y, + x, y); + if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_X) + x = e->x; + if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_Y) + y = e->y; + if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || + (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) { int w, h; @@ -1571,60 +1554,80 @@ _e_border_cb_window_configure_request(void *data, int ev_type, void *ev) e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W, e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H, e->w, e->h); - e_border_resize(bd, w, h); + e_border_move_resize(bd, x, y, w, h); } - if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) && - (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING)) - { - E_Border *obd; + else + e_border_move(bd, x, y); + } + else if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) || + (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H)) + { + int w, h; - if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) - { - obd = e_border_find_by_client_window(e->abovewin); - if (obd) - e_border_stack_above(bd, obd); - } - else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) - { - obd = e_border_find_by_client_window(e->abovewin); - if (obd) - e_border_stack_below(bd, obd); - } - else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) - { - /* FIXME: do */ - } - else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) - { - /* FIXME: do */ - } - else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE) - { - /* FIXME: do */ - } - } - else if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) + h = bd->h; + w = bd->w; + if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W) + w = e->w + bd->client_inset.l + bd->client_inset.r; + if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H) + h = e->h + bd->client_inset.t + bd->client_inset.b; + printf("##- ASK FOR 0x%x TO RESIZE TO [FLG W%liH%li] %i,%i\n", + bd->client.win, + e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_W, + e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_H, + e->w, e->h); + e_border_resize(bd, w, h); + } + if ((e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) && + (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_SIBLING)) + { + E_Border *obd; + + if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) { - if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) - { - e_border_raise(bd); - } - else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) - { - e_border_lower(bd); - } - else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) - { - /* FIXME: do */ - } - else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) - { - /* FIXME: do */ - } - else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE) - { - /* FIXME: do */ - } + obd = e_border_find_by_client_window(e->abovewin); + if (obd) + e_border_stack_above(bd, obd); + } + else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) + { + obd = e_border_find_by_client_window(e->abovewin); + if (obd) + e_border_stack_below(bd, obd); + } + else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) + { + /* FIXME: do */ + } + else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) + { + /* FIXME: do */ + } + else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE) + { + /* FIXME: do */ + } + } + else if (e->value_mask & ECORE_X_WINDOW_CONFIGURE_MASK_STACK_MODE) + { + if (e->detail == ECORE_X_WINDOW_STACK_ABOVE) + { + e_border_raise(bd); + } + else if (e->detail == ECORE_X_WINDOW_STACK_BELOW) + { + e_border_lower(bd); + } + else if (e->detail == ECORE_X_WINDOW_STACK_TOP_IF) + { + /* FIXME: do */ + } + else if (e->detail == ECORE_X_WINDOW_STACK_BOTTOM_IF) + { + /* FIXME: do */ + } + else if (e->detail == ECORE_X_WINDOW_STACK_OPPOSITE) + { + /* FIXME: do */ } } return 1; diff --git a/src/bin/e_gadman.c b/src/bin/e_gadman.c index 0e6943048..f8d361c2b 100644 --- a/src/bin/e_gadman.c +++ b/src/bin/e_gadman.c @@ -259,11 +259,11 @@ e_gadman_client_load(E_Gadman_Client *gmc) } _e_gadman_client_overlap_deny(gmc); e_object_ref(E_OBJECT(gmc)); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); e_object_unref(E_OBJECT(gmc)); @@ -291,9 +291,9 @@ e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone) gmc->x = gmc->zone->x + ((gmc->zone->w - gmc->w) * gmc->ax); gmc->y = gmc->zone->y + ((gmc->zone->h - gmc->h) * gmc->ay); e_object_ref(E_OBJECT(gmc)); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); e_object_unref(E_OBJECT(gmc)); } @@ -1228,17 +1228,17 @@ _e_gadman_cb_signal_move_go(void *data, Evas_Object *obj, const char *emission, _e_gadman_client_geometry_to_align(gmc); _e_gadman_client_geometry_apply(gmc); e_object_ref(E_OBJECT(gmc)); - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) { if (new_zone) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_ZONE); } - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) { if (new_edge) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_EDGE); } - if (!e_object_del_get(E_OBJECT(gmc))) + if (!e_object_is_del(E_OBJECT(gmc))) _e_gadman_client_callback_call(gmc, E_GADMAN_CHANGE_MOVE_RESIZE); e_object_unref(E_OBJECT(gmc)); diff --git a/src/bin/e_object.c b/src/bin/e_object.c index b93d5bc0b..e3ab6d4c3 100644 --- a/src/bin/e_object.c +++ b/src/bin/e_object.c @@ -56,7 +56,7 @@ e_object_del(E_Object *obj) } int -e_object_del_get(E_Object *obj) +e_object_is_del(E_Object *obj) { E_OBJECT_CHECK_RETURN(obj, 1); return obj->deleted; diff --git a/src/bin/e_object.h b/src/bin/e_object.h index 36157bf4b..2758008f7 100644 --- a/src/bin/e_object.h +++ b/src/bin/e_object.h @@ -74,7 +74,7 @@ struct _E_Object EAPI void *e_object_alloc (int size, int type, E_Object_Cleanup_Func cleanup_func); EAPI void e_object_del (E_Object *obj); -EAPI int e_object_del_get (E_Object *obj); +EAPI int e_object_is_del (E_Object *obj); EAPI void e_object_del_func_set (E_Object *obj, E_Object_Cleanup_Func del_func); EAPI void e_object_type_set (E_Object *obj, int type); EAPI void e_object_free (E_Object *obj);