No longer need to keep event controllers alive

The controller is now owned by its widget.
This commit is contained in:
Michael Catanzaro 2020-12-27 09:01:00 -06:00
parent edabe87c18
commit 72cbf108ea

View file

@ -19,8 +19,6 @@ public class ChessView : Gtk.DrawingArea
private Cairo.Surface? selected_model_surface;
private string loaded_theme_name = "";
private Gtk.GestureClick click_controller; // for keeping in memory
private ChessScene _scene;
public ChessScene scene
{
@ -42,7 +40,10 @@ public class ChessView : Gtk.DrawingArea
{
Object (scene: scene);
init_mouse ();
var click_controller = new Gtk.GestureClick (); // only reacts to Gdk.BUTTON_PRIMARY
click_controller.pressed.connect (on_click);
add_controller (click_controller);
set_draw_func (draw);
hexpand = true;
@ -275,13 +276,6 @@ public class ChessView : Gtk.DrawingArea
c.paint_with_alpha (alpha);
}
private void init_mouse ()
{
click_controller = new Gtk.GestureClick (); // only reacts to Gdk.BUTTON_PRIMARY
click_controller.pressed.connect (on_click);
add_controller (click_controller);
}
private void on_click (Gtk.GestureClick _click_controller, int n_press, double event_x, double event_y)
{
if (scene.game == null || scene.game.should_show_paused_overlay)