ui/gtk/image.c

changeset 548
198756ab2845
parent 547
631162b266d1
child 563
6fc93c3b91c9
--- a/ui/gtk/image.c	Wed Apr 02 20:31:04 2025 +0200
+++ b/ui/gtk/image.c	Thu Apr 03 21:24:43 2025 +0200
@@ -125,6 +125,7 @@
             GdkPixbuf *pixbuf = value->value;
             value->value = NULL;
             ui_imageviewer_set(value, pixbuf, UI_IMAGE_OBJECT_TYPE);
+            g_object_unref(pixbuf);
         }
     }
     
@@ -299,6 +300,7 @@
     }
     
     GdkPixbuf *pixbuf = value;
+    g_object_ref(pixbuf);
     
     UiImageViewer *imgviewer = g->obj;
     g->value = pixbuf;
@@ -331,13 +333,22 @@
     
     if(obj->set) {
         obj->set(obj, pixbuf, UI_IMAGE_OBJECT_TYPE);
+        g_object_unref(pixbuf);
     } else {
         obj->value = pixbuf;
     }
-       
+          
     return 0;
 }
 
+void ui_image_ref(UIIMAGE img) {
+    g_object_ref(img);
+}
+
+void ui_image_unref(UIIMAGE img) {
+    g_object_unref(img);
+}
+
 #if GTK_MAJOR_VERSION >= 4
 
 gboolean ui_imageviewer_scroll(

mercurial