Commit 13f16feb authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

fix gib_imlib_save_image_with_error_return in imported giblib code

parent b59da43c
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -162,8 +162,6 @@ void feh_reload_image(winwidget w, int resize, int force_new);
void feh_filelist_image_remove(winwidget winwid, char do_delete);
void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err);
void slideshow_save_image(winwidget win);
void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file,
	Imlib_Load_Error * error_return);
void feh_edit_inplace(winwidget w, int orientation);
void feh_edit_inplace_lossless(winwidget w, int orientation);
gib_list *feh_wrap_string(char *text, int wrap_width, Imlib_Font fn, gib_style * style);
+16 −7
Original line number Diff line number Diff line
@@ -531,8 +531,17 @@ gib_imlib_save_image_with_error_return(Imlib_Image im, char *file,

    imlib_context_set_image(im);
    tmp = strrchr(file, '.');
   if (tmp)
      imlib_image_set_format(tmp + 1);
    if (tmp) {
        char *p, *pp;
        p = estrdup(tmp + 1);
        pp = p;
        while(*pp) {
            *pp = tolower(*pp);
            pp++;
        }
        imlib_image_set_format(p);
        free(p);
    }
    imlib_save_image_with_error_return(file, error_return);
}

+1 −27
Original line number Diff line number Diff line
@@ -148,32 +148,6 @@ int feh_load_image_char(Imlib_Image * im, char *filename)
	return(i);
}

/*
 * XXX gib_imlib_save_image_with_error_return breaks with *.END and
 * similar because it tries to set the image format, which only works
 * with .end .
 * So we leave that part out.
 */
void ungib_imlib_save_image_with_error_return(Imlib_Image im, char *file,
	Imlib_Load_Error * error_return)
{
	char *tmp;
	imlib_context_set_image(im);
	tmp = strrchr(file, '.');
	if (tmp) {
		char *p, *pp;
		p = estrdup(tmp + 1);
		pp = p;
		while(*pp) {
			*pp = tolower(*pp);
			pp++;
		}
		imlib_image_set_format(p);
		free(p);
	}
	imlib_save_image_with_error_return(file, error_return);
}

void feh_imlib_print_load_error(char *file, winwidget w, Imlib_Load_Error err)
{
	if (err == IMLIB_LOAD_ERROR_OUT_OF_FILE_DESCRIPTORS)
@@ -1055,7 +1029,7 @@ void feh_edit_inplace(winwidget w, int op)
			imlib_image_flip_horizontal();
		} else
			gib_imlib_image_orientate(old, op);
		ungib_imlib_save_image_with_error_return(old,
		gib_imlib_save_image_with_error_return(old,
			FEH_FILE(w->file->data)->filename, &err);
		gib_imlib_free_image(old);
		if (err)
+1 −1
Original line number Diff line number Diff line
@@ -327,7 +327,7 @@ void init_index_mode(void)
		else
			strncpy(output_buf, opt.output_file, 1024);

		ungib_imlib_save_image_with_error_return(im_main, output_buf, &err);
		gib_imlib_save_image_with_error_return(im_main, output_buf, &err);
		if (err) {
			feh_imlib_print_load_error(output_buf, im_main, err);
		}
+1 −1
Original line number Diff line number Diff line
@@ -664,7 +664,7 @@ void slideshow_save_image(winwidget win)
	if (opt.verbose)
		fprintf(stderr, "saving image to filename '%s'\n", tmpname);

	ungib_imlib_save_image_with_error_return(win->im, tmpname, &err);
	gib_imlib_save_image_with_error_return(win->im, tmpname, &err);

	if (err)
		feh_imlib_print_load_error(tmpname, win, err);
Loading