diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 1cf125b..6af7f89 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -930,7 +930,7 @@ int yon_image_resize_from_container(GtkImage *target, GdkPixbuf *pixbuf_unscaled void on_region_resized(GtkWidget *,main_window *widgets); void on_region_resized(GtkWidget *,main_window *widgets){ - yon_image_resize_from_container(GTK_IMAGE(widgets->SlidesImage), widgets->slides_original[cur_slide]); + yon_image_resize_from_container(GTK_IMAGE(widgets->SlidesImage), (GdkPixbuf*)g_list_nth_data(widgets->slides_original,cur_slide)); yon_image_resize_from_container(GTK_IMAGE(widgets->RegionImage), widgets->regions_original); yon_image_resize_from_container(GTK_IMAGE(widgets->KeyboardImage), widgets->keyboard_original); } @@ -967,9 +967,9 @@ gboolean on_image_slide(void *data){ main_window *widgets = (main_window*)data; int size; config_str target = yon_char_parsed_new(&size,slide_repeat_path); - // if (size) - // yon_char_parsed_free(target,size); - gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),widgets->slides_original[cur_slide]); + if (size) + yon_char_parsed_free(target,size); + gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),(GdkPixbuf*)g_list_nth_data(widgets->slides_original,cur_slide)); // gtk_widget_queue_draw(widgets->SlidesImage); if (cur_slideregions_original = gdk_pixbuf_new_from_resource(regions_path,NULL); widgets->keyboard_original = gdk_pixbuf_new_from_resource(keyboard_path,NULL); - widgets->slides_original = malloc(sizeof(GdkPixbuf*)*size); - widgets->slides_original[0] = gdk_pixbuf_new_from_resource(slide_0_path,NULL); + widgets->slides_original = NULL; + widgets->slides_original = g_list_prepend(widgets->slides_original,gdk_pixbuf_new_from_resource(slide_0_path,NULL)); for (int i=1;islides_original[i] = gdk_pixbuf_new_from_resource(slides[i-1],NULL); + widgets->slides_original = g_list_prepend(widgets->slides_original,gdk_pixbuf_new_from_resource(slides[i-1],NULL)); } + widgets->slides_original = (widgets->slides_original); yon_char_parsed_free(slides,size); int width = gdk_pixbuf_get_width(widgets->regions_original); int height = gdk_pixbuf_get_height(widgets->regions_original); widgets->region_height_mult = (float)height/width; GdkPixbuf *pix = gdk_pixbuf_scale_simple(widgets->regions_original,600,400,GDK_INTERP_BILINEAR); gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->RegionImage),pix); - // g_object_unref(pix); + g_object_unref(pix); pix = gdk_pixbuf_scale_simple(widgets->keyboard_original,600,400,GDK_INTERP_BILINEAR); gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->KeyboardImage),pix); - // g_object_unref(pix); - pix = gdk_pixbuf_scale_simple(widgets->slides_original[0],600,400,GDK_INTERP_BILINEAR); + g_object_unref(pix); + pix = gdk_pixbuf_scale_simple((GdkPixbuf*)g_list_nth_data(widgets->slides_original,0),600,400,GDK_INTERP_BILINEAR); gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->SlidesImage),pix); - // g_object_unref(pix); + g_object_unref(pix); int langsize; config_str lang = default_langs(&langsize); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 64f0799..f989488 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -357,7 +357,7 @@ typedef struct { GdkPixbuf *regions_original; GdkPixbuf *keyboard_original; - GdkPixbuf **slides_original; + GList *slides_original; float region_height_mult; GtkWidget *RegionSensitiveCheck;