Submitted By: Douglas R. Reno Date: 2020-05-20 Initial Package Version: 0.10.47 Origin: Upstream Upstream Status: Applied Description: Fixes a bug with the processing of some Gnumeric files, and resolves several GTK Critical Warnings. diff -Naurp goffice-0.10.47.orig/goffice/data/go-data.c goffice-0.10.47/goffice/data/go-data.c --- goffice-0.10.47.orig/goffice/data/go-data.c 2016-09-13 18:55:25.000000000 -0500 +++ goffice-0.10.47/goffice/data/go-data.c 2020-05-20 20:51:15.142017412 -0500 @@ -268,6 +268,8 @@ go_data_unserialize (GOData *dat, char c { GODataClass const *klass = GO_DATA_GET_CLASS (dat); g_return_val_if_fail (klass != NULL, FALSE); + /* an empty string is not valid. */ + g_return_val_if_fail (str && *str, FALSE); return (*klass->unserialize) (dat, str, user); } diff -Naurp goffice-0.10.47.orig/goffice/graph/gog-object-xml.c goffice-0.10.47/goffice/graph/gog-object-xml.c --- goffice-0.10.47.orig/goffice/graph/gog-object-xml.c 2015-06-20 19:04:34.000000000 -0500 +++ goffice-0.10.47/goffice/graph/gog-object-xml.c 2020-05-20 20:52:04.759449507 -0500 @@ -168,11 +168,14 @@ gog_dataset_sax_save (GogDataset const * if (dat == NULL) continue; + tmp = go_data_serialize (dat, user); + /* only save the data if there is some valid content */ + if (tmp == NULL || *tmp == 0) + continue; gsf_xml_out_start_element (output, "dimension"); gsf_xml_out_add_int (output, "id", i); gsf_xml_out_add_cstr (output, "type", G_OBJECT_TYPE_NAME (dat)); - tmp = go_data_serialize (dat, user); gsf_xml_out_add_cstr (output, NULL, tmp); g_free (tmp); gsf_xml_out_end_element (output); /* */ diff -Naurp goffice-0.10.47.orig/goffice/gtk/go-font-sel.c goffice-0.10.47/goffice/gtk/go-font-sel.c --- goffice-0.10.47.orig/goffice/gtk/go-font-sel.c 2018-04-19 19:52:12.000000000 -0500 +++ goffice-0.10.47/goffice/gtk/go-font-sel.c 2020-05-20 20:57:04.739033741 -0500 @@ -99,6 +99,11 @@ enum { GFS_GTK_FONT_CHOOSER_PROP_FONT_DESC, GFS_GTK_FONT_CHOOSER_PROP_PREVIEW_TEXT, GFS_GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY, +#if GTK_CHECK_VERSION(3,24,0) + GFS_GTK_FONT_CHOOSER_PROP_LEVEL, + GFS_GTK_FONT_CHOOSER_PROP_LANGUAGE, + GFS_GTK_FONT_CHOOSER_PROP_FONT_FEATURES, +#endif GFS_GTK_FONT_CHOOSER_PROP_LAST }; @@ -1114,6 +1119,22 @@ gfs_get_property (GObject *objec g_value_set_boolean (value, gfs->show_preview_entry); break; +#if GTK_CHECK_VERSION(3,24,0) + case GFS_GTK_FONT_CHOOSER_PROP_LEVEL: + g_value_set_int (value, GTK_FONT_CHOOSER_LEVEL_FAMILY | + GTK_FONT_CHOOSER_LEVEL_STYLE | + GTK_FONT_CHOOSER_LEVEL_SIZE); + break; + + case GFS_GTK_FONT_CHOOSER_PROP_LANGUAGE: + g_value_set_string (value, ""); + break; + + case GFS_GTK_FONT_CHOOSER_PROP_FONT_FEATURES: + g_value_set_string (value, ""); + break; +#endif + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1189,6 +1210,21 @@ gfs_set_property (GObject *objec update_preview (gfs); break; +#if GTK_CHECK_VERSION(3,24,0) + case GFS_GTK_FONT_CHOOSER_PROP_LEVEL: + /* not supported, just to avoid criticals */ + + break; + case GFS_GTK_FONT_CHOOSER_PROP_LANGUAGE: + /* not supported, just to avoid criticals */ + + break; + case GFS_GTK_FONT_CHOOSER_PROP_FONT_FEATURES: + /* not supported, just to avoid criticals */ + + break; +#endif + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1305,6 +1341,17 @@ gfs_class_init (GObjectClass *klass) g_object_class_override_property (klass, GFS_GTK_FONT_CHOOSER_PROP_SHOW_PREVIEW_ENTRY, "show-preview-entry"); +#if GTK_CHECK_VERSION (3,24,0) + g_object_class_override_property (klass, + GFS_GTK_FONT_CHOOSER_PROP_LEVEL, + "level"); + g_object_class_override_property (klass, + GFS_GTK_FONT_CHOOSER_PROP_LANGUAGE, + "language"); + g_object_class_override_property (klass, + GFS_GTK_FONT_CHOOSER_PROP_FONT_FEATURES, + "font-features"); +#endif gfs_signals[FONT_CHANGED] = g_signal_new (