Commit 7bad33d8 authored by claes's avatar claes

OpenBSD gtk bugfixes

parent ebd071c8
......@@ -287,8 +287,10 @@ static void curvewidgetgtk_destroy( GtkObject *object)
curvew->destroyed = 1;
if ( curvew->scroll_timerid)
g_source_remove( curvew->scroll_timerid);
if ( curvew->is_navigator && curvew->curve_ctx)
((CurveCtx *)curvew->curve_ctx)->no_nav = 1;
if ( curvew->is_navigator) {
if ( curvew->curve_ctx && !((CurveWidgetGtk *)curvew->main_curve_widget)->destroyed)
((CurveCtx *)curvew->curve_ctx)->no_nav = 1;
}
else
delete (GlowDrawGtk *)curvew->draw_ctx;
}
......
......@@ -859,20 +859,28 @@ int GlowDrawGtk::event_handler( GdkEvent event)
if ( (event.button.state & GDK_SHIFT_MASK) &&
!(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1ClickShift, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( !(event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1ClickCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( (event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1ClickShiftCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else {
sts = ctx->event_handler( glow_eEvent_MB1Click, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
break;
......@@ -880,20 +888,28 @@ int GlowDrawGtk::event_handler( GdkEvent event)
if ( (event.button.state & GDK_SHIFT_MASK) &&
!(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2ClickShift, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( !(event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2ClickCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( (event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2ClickShiftCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else {
sts = ctx->event_handler( glow_eEvent_MB2Click, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
break;
......@@ -911,6 +927,8 @@ int GlowDrawGtk::event_handler( GdkEvent event)
else
#endif
sts = ctx->event_handler( glow_eEvent_MB3Click, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
break;
}
......@@ -919,6 +937,8 @@ int GlowDrawGtk::event_handler( GdkEvent event)
/* Button release */
// cout << "Button release detected" << endl;
sts = ctx->event_handler( glow_eEvent_ButtonRelease, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
}
}
else {
......@@ -945,20 +965,28 @@ int GlowDrawGtk::event_handler( GdkEvent event)
if ( (event.button.state & GDK_SHIFT_MASK) &&
!(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1DoubleClickShift, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( !(event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1DoubleClickCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( (event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB1DoubleClickShiftCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else {
sts = ctx->event_handler( glow_eEvent_MB1DoubleClick, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
break;
......@@ -966,20 +994,28 @@ int GlowDrawGtk::event_handler( GdkEvent event)
if ( (event.button.state & GDK_SHIFT_MASK) &&
!(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2DoubleClickShift, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( !(event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2DoubleClickCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else if ( (event.button.state & GDK_SHIFT_MASK) &&
(event.button.state & GDK_CONTROL_MASK)) {
sts = ctx->event_handler( glow_eEvent_MB2DoubleClickShiftCtrl, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
else {
sts = ctx->event_handler( glow_eEvent_MB2DoubleClick, (int)event.button.x, (int)event.button.y, 0, 0);
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return 1;
click_sensitivity = 0;
}
break;
......
......@@ -291,8 +291,10 @@ static void growwidgetgtk_destroy( GtkObject *object)
grow->destroyed = 1;
if ( grow->scroll_timerid)
g_source_remove( grow->scroll_timerid);
if ( grow->is_navigator && grow->grow_ctx)
((GrowCtx *)grow->grow_ctx)->no_nav = 1;
if ( grow->is_navigator) {
if ( grow->grow_ctx && !((GrowWidgetGtk *)grow->main_grow_widget)->destroyed)
((GrowCtx *)grow->grow_ctx)->no_nav = 1;
}
else
delete (GlowDrawGtk *)grow->draw_ctx;
}
......
......@@ -266,7 +266,9 @@ int GrowCtx::event_handler( glow_eEvent event, int x, int y, int w, int h)
case glow_eEvent_MB1Up:
case glow_eEvent_MB1Click:
sts = a[a.a_size-1]->event_handler( &mw, event, x, y, fx, fy);
if ( sts)
if ( sts == GLOW__TERMINATED || sts == GLOW__DESTROYED)
return sts;
else if ( sts)
return 1;
break;
default: ;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment