|
|
@@ -403,11 +403,13 @@ protected:
|
|
|
// (e.g. caused by layout rebuilds or mouse hover anomalies)
|
|
|
auto click_controller = Gtk::GestureClick::create();
|
|
|
std::weak_ptr<Window> weak_window_click = node->window;
|
|
|
- click_controller->signal_pressed().connect([this, weak_window_click](int, double, double) {
|
|
|
+ click_controller->signal_pressed().connect([this, weak_window_click, drawing_area](int, double, double) {
|
|
|
if (auto window = weak_window_click.lock()) {
|
|
|
if (core_ && core_->active_window() != window) {
|
|
|
core_->set_active_window(window);
|
|
|
}
|
|
|
+ // IMPORTANT: Grab keyboard focus for this widget
|
|
|
+ drawing_area->grab_focus();
|
|
|
}
|
|
|
});
|
|
|
drawing_area->add_controller(click_controller);
|