Allow no popup widgets to grab the button

This commit is contained in:
brummer10 2022-08-14 19:15:00 +02:00
parent edc7f5f52b
commit 426efeb2f9
2 changed files with 6 additions and 2 deletions

View File

@ -102,7 +102,7 @@ void main_run(Xputty *main) {
}
}
}
if(main->hold_grab != NULL) {
if(main->hold_grab != NULL && main->hold_grab->flags & IS_POPUP) {
if (childlist_has_child(main->hold_grab->childlist)) {
Widget_t *slider = main->hold_grab->childlist->childs[1];
if (xev.xbutton.window == slider->widget) {
@ -124,6 +124,8 @@ void main_run(Xputty *main) {
widget_hide(main->hold_grab);
main->hold_grab = NULL;
}
} else if(main->hold_grab != NULL) {
main->hold_grab->func.button_release_callback(main->hold_grab, &xev.xbutton, NULL);
}
}
break;

View File

@ -123,7 +123,7 @@ void _button_press(Widget_t * wid, XButtonEvent *xbutton, void* user_data) {
}
void _check_grab(Widget_t * wid, XButtonEvent *xbutton, Xputty *main) {
if(main->hold_grab != NULL) {
if(main->hold_grab != NULL && main->hold_grab->flags & IS_POPUP) {
if (main->is_grab) {
main->is_grab = false;
return;
@ -156,6 +156,8 @@ void _check_grab(Widget_t * wid, XButtonEvent *xbutton, Xputty *main) {
} else if(xbutton->button == Button5) {
_scroll_event(view_port, -1);
}*/ // done in _button_press() anyway
} else if(main->hold_grab != NULL) {
main->hold_grab->func.button_release_callback(main->hold_grab, xbutton, NULL);
}
}