Reset slider mouse state on hiding/removing

Resetting `grab.active`, but also `mouse_inside` so that after reappearing it must be hovered again -even if the mouse is still over it- in order to get a highlight. That is consistent to the way other controls in the engine, e.g. buttons, work.

Fixes #12130.
This commit is contained in:
Pedro J. Estébanez 2017-10-16 20:53:02 +02:00
parent 8de1dc7e9a
commit 807a84f7c9

View file

@ -157,6 +157,12 @@ void Slider::_notification(int p_what) {
mouse_inside = false; mouse_inside = false;
update(); update();
} break; } break;
case NOTIFICATION_VISIBILITY_CHANGED: // fallthrough
case NOTIFICATION_EXIT_TREE: {
mouse_inside = false;
grab.active = false;
} break;
case NOTIFICATION_DRAW: { case NOTIFICATION_DRAW: {
RID ci = get_canvas_item(); RID ci = get_canvas_item();
Size2i size = get_size(); Size2i size = get_size();