From: John Darrington Date: Sat, 19 Sep 2015 18:02:03 +0000 (+0200) Subject: PsppireSpreadsheetModel: Take reference to underlying model X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86ccb0cd2f25f8a9ffbce6208e8726972cacb520;p=pspp PsppireSpreadsheetModel: Take reference to underlying model --- diff --git a/src/ui/gui/psppire-spreadsheet-model.c b/src/ui/gui/psppire-spreadsheet-model.c index d02c1c558c..bd186ca46d 100644 --- a/src/ui/gui/psppire-spreadsheet-model.c +++ b/src/ui/gui/psppire-spreadsheet-model.c @@ -106,6 +106,7 @@ psppire_spreadsheet_model_set_property (GObject * object, { case PROP_SPREADSHEET: spreadsheetModel->spreadsheet = g_value_get_pointer (value); + spreadsheet_ref (spreadsheetModel->spreadsheet); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -117,6 +118,14 @@ psppire_spreadsheet_model_set_property (GObject * object, static void psppire_spreadsheet_model_dispose (GObject * object) { + PsppireSpreadsheetModel *spreadsheetModel = PSPPIRE_SPREADSHEET_MODEL (object); + + if (!spreadsheetModel->dispose_has_run) + { + spreadsheet_unref (spreadsheetModel->spreadsheet); + + spreadsheetModel->dispose_has_run = TRUE; + } } static void