view: make scene property construct-only

This improves robustness, because the code is not currently able to
handle the scene being set twice.
This commit is contained in:
Michael Catanzaro 2020-12-25 08:19:58 -06:00
parent 58db072126
commit 48afadef23
2 changed files with 7 additions and 3 deletions

View file

@ -25,7 +25,7 @@ public class ChessView : Gtk.DrawingArea
public ChessScene scene
{
get { return _scene; }
set
construct set
{
_scene = value;
_scene.changed.connect (scene_changed_cb);
@ -38,6 +38,11 @@ public class ChessView : Gtk.DrawingArea
get { return square_size / 2; }
}
public ChessView (ChessScene scene)
{
Object (scene: scene);
}
construct
{
init_mouse ();

View file

@ -192,9 +192,8 @@ Copyright © 20152016 Sahil Sareen""";
settings.bind ("move-format", scene, "move-format", SettingsBindFlags.GET);
settings.bind ("board-side", scene, "board-side", SettingsBindFlags.GET);
view = new ChessView ();
view = new ChessView (scene);
view.set_size_request (100, 100);
view.scene = scene;
main_box.insert_child_after (view, info_bar);
view.show ();