diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2018-11-04 22:13:28 +0100 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2018-11-04 22:13:28 +0100 | 
| commit | 9d86d3cecc9046922b8a0c49acb60aa480f84a4e (patch) | |
| tree | 129cc1c51c888968aab6752f4639ce4e57b5535c /src/imlib.c | |
| parent | bc8f6d804edb3f84bdcfbf30b7141ba462695876 (diff) | |
| parent | de185357e745f78e2133da826972502bd1980d1f (diff) | |
Merge branch 'ulteq-no-inplace-edit'
Diffstat (limited to 'src/imlib.c')
| -rw-r--r-- | src/imlib.c | 28 | 
1 files changed, 26 insertions, 2 deletions
| diff --git a/src/imlib.c b/src/imlib.c index 18547a9..4270c4a 100644 --- a/src/imlib.c +++ b/src/imlib.c @@ -1204,6 +1204,26 @@ void feh_edit_inplace(winwidget w, int op)  	if (!w->file || !w->file->data || !FEH_FILE(w->file->data)->filename)  		return; +	if (!opt.edit) { +		imlib_context_set_image(w->im); +		if (op == INPLACE_EDIT_FLIP) +			imlib_image_flip_vertical(); +		else if (op == INPLACE_EDIT_MIRROR) +			imlib_image_flip_horizontal(); +		else { +			imlib_image_orientate(op); +			tmp = w->im_w; +			w->im_w = w->im_h; +			w->im_h = tmp; +			if (FEH_FILE(w->file->data)->info) { +				FEH_FILE(w->file->data)->info->width = w->im_w; +				FEH_FILE(w->file->data)->info->height = w->im_h; +			} +		} +		winwidget_render_image(w, 1, 0); +		return; +	} +  	if (!strcmp(gib_imlib_image_format(w->im), "jpeg") &&  			!path_is_url(FEH_FILE(w->file->data)->filename)) {  		feh_edit_inplace_lossless(w, op); @@ -1241,8 +1261,12 @@ void feh_edit_inplace(winwidget w, int op)  		else {  			imlib_image_orientate(op);  			tmp = w->im_w; -			FEH_FILE(w->file->data)->info->width = w->im_w = w->im_h; -			FEH_FILE(w->file->data)->info->height = w->im_h = tmp; +			w->im_w = w->im_h; +			w->im_h = tmp; +			if (FEH_FILE(w->file->data)->info) { +				FEH_FILE(w->file->data)->info->width = w->im_w; +				FEH_FILE(w->file->data)->info->height = w->im_h; +			}  		}  		im_weprintf(w, "unable to edit in place. Changes have not been saved.");  		winwidget_render_image(w, 1, 0); | 
