[gtk/wip/otte/reftests: 10/14] picture: Don't cause warnings on load failures
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/otte/reftests: 10/14] picture: Don't cause warnings on load failures
- Date: Fri, 29 Mar 2019 04:54:31 +0000 (UTC)
commit c8e3c8c191875a8c541a5c4f6df8bf3878f43bae
Author: Benjamin Otte <otte redhat com>
Date: Fri Mar 29 05:36:12 2019 +0100
picture: Don't cause warnings on load failures
When a file set via gtk_picture_set_file() can't be loaded, just
silently don't load it.
Reftest picture-load-invalid-file added for that case.
gtk/gtkpicture.c | 3 ++-
testsuite/reftests/meson.build | 2 ++
testsuite/reftests/picture-load-invalid-file.ref.ui | 11 +++++++++++
testsuite/reftests/picture-load-invalid-file.ui | 12 ++++++++++++
4 files changed, 27 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkpicture.c b/gtk/gtkpicture.c
index 3dc7c9b91b..b6ecd2f696 100644
--- a/gtk/gtkpicture.c
+++ b/gtk/gtkpicture.c
@@ -604,6 +604,7 @@ load_scalable_with_loader (GFile *file,
out2:
g_bytes_unref (bytes);
out1:
+ gdk_pixbuf_loader_close (loader, NULL);
g_object_unref (loader);
return result;
@@ -637,7 +638,7 @@ gtk_picture_set_file (GtkPicture *self,
paintable = load_scalable_with_loader (file, gtk_widget_get_scale_factor (GTK_WIDGET (self)));
gtk_picture_set_paintable (self, paintable);
- g_object_unref (paintable);
+ g_clear_object (&paintable);
g_object_thaw_notify (G_OBJECT (self));
}
diff --git a/testsuite/reftests/meson.build b/testsuite/reftests/meson.build
index 3a1f9ac688..597939d6c0 100644
--- a/testsuite/reftests/meson.build
+++ b/testsuite/reftests/meson.build
@@ -328,6 +328,8 @@ testdata = [
'paned-undersized.css',
'paned-undersized.ref.ui',
'paned-undersized.ui',
+ 'picture-load-invalid-file.ui',
+ 'picture-load-invalid-file.ref.ui',
'pseudoclass-on-box.css',
'pseudoclass-on-box.ref.ui',
'pseudoclass-on-box.ui',
diff --git a/testsuite/reftests/picture-load-invalid-file.ref.ui
b/testsuite/reftests/picture-load-invalid-file.ref.ui
new file mode 100644
index 0000000000..3500931a6b
--- /dev/null
+++ b/testsuite/reftests/picture-load-invalid-file.ref.ui
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkPicture">
+ </object>
+ </child>
+ </object>
+</interface>
diff --git a/testsuite/reftests/picture-load-invalid-file.ui b/testsuite/reftests/picture-load-invalid-file.ui
new file mode 100644
index 0000000000..8ca26cfacf
--- /dev/null
+++ b/testsuite/reftests/picture-load-invalid-file.ui
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <object class="GtkWindow" id="window1">
+ <property name="type">popup</property>
+ <child>
+ <object class="GtkPicture">
+ <property name="file">does://not.com/exist.png</property>
+ </object>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]