Test fix for crash

pull/69/head
parent da1d57f1fa
commit 1b82be6ccf

@ -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_slide<size-1) cur_slide++; else cur_slide=1;
return 1;
@ -2559,24 +2559,25 @@ main_window *yon_main_window_complete(){
config_str slides = yon_char_parsed_new(&size,slide_repeat_path);
widgets->regions_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;i<size;i++){
widgets->slides_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);

@ -357,7 +357,7 @@ typedef struct {
GdkPixbuf *regions_original;
GdkPixbuf *keyboard_original;
GdkPixbuf **slides_original;
GList *slides_original;
float region_height_mult;
GtkWidget *RegionSensitiveCheck;

Loading…
Cancel
Save