hoo famn. segv. fixed.

SVN revision: 15615
This commit is contained in:
Carsten Haitzler 2005-07-01 13:21:41 +00:00
parent 0d700e3bf0
commit e0ae737480
2 changed files with 77 additions and 44 deletions

View File

@ -2648,11 +2648,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_TL; bd->resize_mode = RESIZE_TL;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_SE); GRAV_SET(bd, ECORE_X_GRAVITY_SE);
} }
else if (e->direction == RESIZE_T) else if (e->direction == RESIZE_T)
@ -2662,11 +2665,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_T; bd->resize_mode = RESIZE_T;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_S); GRAV_SET(bd, ECORE_X_GRAVITY_S);
} }
else if (e->direction == RESIZE_TR) else if (e->direction == RESIZE_TR)
@ -2676,11 +2682,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_TR; bd->resize_mode = RESIZE_TR;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_SW); GRAV_SET(bd, ECORE_X_GRAVITY_SW);
} }
else if (e->direction == RESIZE_R) else if (e->direction == RESIZE_R)
@ -2690,11 +2699,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_R; bd->resize_mode = RESIZE_R;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_W); GRAV_SET(bd, ECORE_X_GRAVITY_W);
} }
else if (e->direction == RESIZE_BR) else if (e->direction == RESIZE_BR)
@ -2704,11 +2716,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_BR; bd->resize_mode = RESIZE_BR;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_NW); GRAV_SET(bd, ECORE_X_GRAVITY_NW);
} }
else if (e->direction == RESIZE_B) else if (e->direction == RESIZE_B)
@ -2718,11 +2733,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_B; bd->resize_mode = RESIZE_B;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_N); GRAV_SET(bd, ECORE_X_GRAVITY_N);
} }
else if (e->direction == RESIZE_BL) else if (e->direction == RESIZE_BL)
@ -2732,11 +2750,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_BL; bd->resize_mode = RESIZE_BL;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_NE); GRAV_SET(bd, ECORE_X_GRAVITY_NE);
} }
else if (e->direction == RESIZE_L) else if (e->direction == RESIZE_L)
@ -2746,11 +2767,14 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->resize_mode = RESIZE_L; bd->resize_mode = RESIZE_L;
bd->cur_mouse_action = e_action_find("window_resize"); bd->cur_mouse_action = e_action_find("window_resize");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
}
GRAV_SET(bd, ECORE_X_GRAVITY_E); GRAV_SET(bd, ECORE_X_GRAVITY_E);
} }
else if (e->direction == MOVE) else if (e->direction == MOVE)
@ -2760,12 +2784,15 @@ _e_border_cb_window_move_resize_request(void *data, int ev_type, void *ev)
bd->moving = 1; bd->moving = 1;
bd->cur_mouse_action = e_action_find("window_move"); bd->cur_mouse_action = e_action_find("window_move");
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
} }
}
return 1; return 1;
} }
@ -3215,12 +3242,15 @@ _e_border_cb_mouse_down(void *data, int type, void *event)
bd->cur_mouse_action = bd->cur_mouse_action =
e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_BORDER, e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_BORDER,
E_OBJECT(bd), ev); E_OBJECT(bd), ev);
if (bd->cur_mouse_action)
{
if ((!bd->cur_mouse_action->func.end_mouse) && if ((!bd->cur_mouse_action->func.end_mouse) &&
(!bd->cur_mouse_action->func.end)) (!bd->cur_mouse_action->func.end))
bd->cur_mouse_action = NULL; bd->cur_mouse_action = NULL;
if (bd->cur_mouse_action) if (bd->cur_mouse_action)
e_object_ref(E_OBJECT(bd->cur_mouse_action)); e_object_ref(E_OBJECT(bd->cur_mouse_action));
} }
}
e_focus_event_mouse_down(bd); e_focus_event_mouse_down(bd);
} }
if ((ev->win != bd->event_win) && (ev->event_win != bd->win)) if ((ev->win != bd->event_win) && (ev->event_win != bd->win))

View File

@ -572,6 +572,8 @@ _e_zone_cb_bg_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_i
zone->cur_mouse_action = zone->cur_mouse_action =
e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_ZONE, e_bindings_mouse_down_event_handle(E_BINDING_CONTEXT_ZONE,
E_OBJECT(zone), ev2); E_OBJECT(zone), ev2);
if (zone->cur_mouse_action)
{
if ((!zone->cur_mouse_action->func.end_mouse) && if ((!zone->cur_mouse_action->func.end_mouse) &&
(!zone->cur_mouse_action->func.end)) (!zone->cur_mouse_action->func.end))
zone->cur_mouse_action = NULL; zone->cur_mouse_action = NULL;
@ -579,6 +581,7 @@ _e_zone_cb_bg_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_i
e_object_ref(E_OBJECT(zone->cur_mouse_action)); e_object_ref(E_OBJECT(zone->cur_mouse_action));
} }
} }
}
} }
static void static void