From 0d29dc3d7e611c60f8e0f6784924abe7fb5f3b8e Mon Sep 17 00:00:00 2001 From: AkriliksKotya Date: Thu, 1 Jan 2026 16:48:36 +0500 Subject: [PATCH] remove image if exists --- main.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/main.c b/main.c index 05a623e..b2cc3f1 100644 --- a/main.c +++ b/main.c @@ -3,22 +3,23 @@ typedef struct{ GtkApplication *app; - GtkWidget *window; - GtkWidget *box; - GtkWidget *input; + GtkWidget *window , *box ,*input, *image; char dir[256]; } Appdata; static void load_image(Appdata *data){ GError *error = NULL; + if (data->image != NULL){ + gtk_box_remove(data->box,GTK_WIDGET(data->image)); + } GdkPixbuf *pix = gdk_pixbuf_new_from_file (("%s", data->dir), &error); - if (pix == NULL) { - g_printerr ("Error loading file: #%d %s\n", error->code, error->message); - g_error_free (error); + if (pix == NULL){ + g_printerr("Error loading file: #%d %s\n", error->code, error->message); + g_error_free(error); exit (1); } - GtkWidget *widget = gtk_image_new_from_pixbuf (pix); - gtk_box_append(GTK_BOX(data->box),widget); + data->image = gtk_image_new_from_pixbuf(pix); + gtk_box_append(GTK_BOX(data->box),data->image); } // activates after enter dir in input