Author: abrander
Date: 2009-07-05 21:36:59 +0200 (Sun, 05 Jul 2009)
New Revision: 2556
Modified:
trunk/librawstudio/rs-filter.c
trunk/librawstudio/rs-filter.h
trunk/plugins/basic-render/basic-render.c
trunk/plugins/cache/cache.c
trunk/plugins/crop/crop.c
trunk/plugins/demosaic/demosaic.c
trunk/plugins/denoise/denoise.c
trunk/plugins/exposure-mask/exposure-mask.c
trunk/plugins/input-file/input-file.c
trunk/plugins/input-image16/input-image16.c
trunk/plugins/lensfun/lensfun.c
trunk/plugins/resample/resample.c
trunk/plugins/rotate/rotate.c
trunk/src/rs-loupe.c
trunk/src/rs-preview-widget.c
Log:
Ported all filters and filter users to RSFilterParam.
Modified: trunk/librawstudio/rs-filter.c
===================================================================
--- trunk/librawstudio/rs-filter.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/librawstudio/rs-filter.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -159,11 +159,11 @@
/**
* Get the output image from a RSFilter
* @param filter A RSFilter
- * @param param A RS_FILTER_PARAM defining parameters for a image request
+ * @param param A RSFilterParam defining parameters for a image request
* @return A RS_IMAGE16, this must be unref'ed
*/
RS_IMAGE16 *
-rs_filter_get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+rs_filter_get_image(RSFilter *filter, const RSFilterParam *param)
{
filter_debug("rs_filter_get_image(%s [%p])", RS_FILTER_NAME(filter),
filter);
@@ -212,11 +212,11 @@
/**
* Get 8 bit output image from a RSFilter
* @param filter A RSFilter
- * @param param A RS_FILTER_PARAM defining parameters for a image request
+ * @param param A RSFilterParam defining parameters for a image request
* @return A RS_IMAGE16, this must be unref'ed
*/
GdkPixbuf *
-rs_filter_get_image8(RSFilter *filter, RS_FILTER_PARAM *param)
+rs_filter_get_image8(RSFilter *filter, const RSFilterParam *param)
{
filter_debug("rs_filter_get_image8(%s [%p])", RS_FILTER_NAME(filter),
filter);
Modified: trunk/librawstudio/rs-filter.h
===================================================================
--- trunk/librawstudio/rs-filter.h 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/librawstudio/rs-filter.h 2009-07-05 19:36:59 UTC (rev 2556)
@@ -76,10 +76,6 @@
RS_FILTER_CHANGED_ICC_PROFILE = 1<<2
} RSFilterChangedMask;
-typedef struct {
- GdkRectangle *roi;
-} RS_FILTER_PARAM;
-
typedef struct _RSFilter RSFilter;
typedef struct _RSFilterClass RSFilterClass;
@@ -93,8 +89,8 @@
struct _RSFilterClass {
GObjectClass parent_class;
const gchar *name;
- RS_IMAGE16 *(*get_image)(RSFilter *filter, RS_FILTER_PARAM *param);
- GdkPixbuf *(*get_image8)(RSFilter *filter, RS_FILTER_PARAM *param);
+ RS_IMAGE16 *(*get_image)(RSFilter *filter, const RSFilterParam *param);
+ GdkPixbuf *(*get_image8)(RSFilter *filter, const RSFilterParam *param);
RSIccProfile *(*get_icc_profile)(RSFilter *filter);
gint (*get_width)(RSFilter *filter);
gint (*get_height)(RSFilter *filter);
@@ -129,19 +125,19 @@
/**
* Get the output image from a RSFilter
* @param filter A RSFilter
- * @param param A RS_FILTER_PARAM defining parameters for a image request
+ * @param param A RSFilterParam defining parameters for a image request
* @return A RS_IMAGE16, this must be unref'ed
*/
-extern RS_IMAGE16 *rs_filter_get_image(RSFilter *filter, RS_FILTER_PARAM
*param);
+extern RS_IMAGE16 *rs_filter_get_image(RSFilter *filter, const RSFilterParam
*param);
/**
* Get 8 bit output image from a RSFilter
* @param filter A RSFilter
- * @param param A RS_FILTER_PARAM defining parameters for a image request
+ * @param param A RSFilterParam defining parameters for a image request
* @return A RS_IMAGE16, this must be unref'ed
*/
GdkPixbuf *
-rs_filter_get_image8(RSFilter *filter, RS_FILTER_PARAM *param);
+rs_filter_get_image8(RSFilter *filter, const RSFilterParam *param);
/**
* Get the ICC profile from a filter
Modified: trunk/plugins/basic-render/basic-render.c
===================================================================
--- trunk/plugins/basic-render/basic-render.c 2009-07-05 19:34:52 UTC (rev
2555)
+++ trunk/plugins/basic-render/basic-render.c 2009-07-05 19:36:59 UTC (rev
2556)
@@ -121,8 +121,8 @@
static gpointer thread_func_sse8(gpointer _thread_info);
static gpointer thread_func_sse8_cms(gpointer _thread_info);
#endif /* __i386__ || __x86_64__ */
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
-static GdkPixbuf *get_image8(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
+static GdkPixbuf *get_image8(RSFilter *filter, const RSFilterParam *param);
static RSIccProfile *get_icc_profile(RSFilter *filter);
static RSFilterClass *rs_basic_render_parent_class = NULL;
@@ -925,7 +925,7 @@
#endif /* __i386__ || __x86_64__ */
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSBasicRenderClass *klass = RS_BASIC_RENDER_GET_CLASS(filter);
guint i, y_offset, y_per_thread, threaded_h;
@@ -978,7 +978,7 @@
}
static GdkPixbuf *
-get_image8(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image8(RSFilter *filter, const RSFilterParam *param)
{
RSBasicRenderClass *klass = RS_BASIC_RENDER_GET_CLASS(filter);
guint i, x_offset, y_offset, y_per_thread, threaded_h;
@@ -987,6 +987,7 @@
RS_IMAGE16 *input;
GdkPixbuf *output = NULL;
gint width, height;
+ GdkRectangle *roi;
input = rs_filter_get_image(filter->previous, param);
if (!RS_IS_IMAGE16(input))
@@ -998,12 +999,12 @@
render_matrix(basic_render);
prepare_lcms(basic_render);
- if (param && param->roi)
+ if ((roi = rs_filter_param_get_roi(param)))
{
- width = MIN(param->roi->width, input->w);
- height = MIN(param->roi->height, input->h);
- x_offset = MAX(param->roi->x, 0);
- y_offset = MAX(param->roi->y, 0);
+ width = MIN(roi->width, input->w);
+ height = MIN(roi->height, input->h);
+ x_offset = MAX(roi->x, 0);
+ y_offset = MAX(roi->y, 0);
}
else
{
Modified: trunk/plugins/cache/cache.c
===================================================================
--- trunk/plugins/cache/cache.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/cache/cache.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -56,8 +56,8 @@
static void finalize(GObject *object);
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
-static GdkPixbuf *get_image8(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
+static GdkPixbuf *get_image8(RSFilter *filter, const RSFilterParam *param);
static void flush(RSCache *cache);
static void previous_changed(RSFilter *filter, RSFilter *parent,
RSFilterChangedMask mask);
@@ -170,15 +170,16 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSCache *cache = RS_CACHE(filter);
+ GdkRectangle *roi = rs_filter_param_get_roi(param);
- if (!cache->ignore_roi && (param && param->roi))
+ if (!cache->ignore_roi && roi)
{
if (cache->last_roi)
{
- if (!rectangle_is_inside(cache->last_roi, param->roi))
+ if (!rectangle_is_inside(cache->last_roi, roi))
flush(cache);
}
@@ -186,7 +187,7 @@
if (!cache->last_roi)
{
cache->last_roi = g_new(GdkRectangle, 1);
- *cache->last_roi = *param->roi;
+ *cache->last_roi = *roi;
}
}
@@ -197,15 +198,16 @@
}
static GdkPixbuf *
-get_image8(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image8(RSFilter *filter, const RSFilterParam *param)
{
RSCache *cache = RS_CACHE(filter);
+ GdkRectangle *roi = rs_filter_param_get_roi(param);
- if (!cache->ignore_roi && (param && param->roi))
+ if (!cache->ignore_roi && roi)
{
if (cache->last_roi)
{
- if (!rectangle_is_inside(cache->last_roi, param->roi))
+ if (!rectangle_is_inside(cache->last_roi, roi))
flush(cache);
}
@@ -213,7 +215,7 @@
if (!cache->last_roi)
{
cache->last_roi = g_new(GdkRectangle, 1);
- *cache->last_roi = *param->roi;
+ *cache->last_roi = *roi;
}
}
Modified: trunk/plugins/crop/crop.c
===================================================================
--- trunk/plugins/crop/crop.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/crop/crop.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -53,7 +53,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static gint get_width(RSFilter *filter);
static gint get_height(RSFilter *filter);
@@ -177,7 +177,7 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
g_assert(RS_IS_FILTER(filter));
RSCrop *crop = RS_CROP(filter);
Modified: trunk/plugins/demosaic/demosaic.c
===================================================================
--- trunk/plugins/demosaic/demosaic.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/demosaic/demosaic.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -71,7 +71,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static inline int fc_INDI (const unsigned int filters, const int row, const
int col);
static void border_interpolate_INDI (RS_IMAGE16 *image, const unsigned int
filters, int colors, int border);
static void lin_interpolate_INDI(RS_IMAGE16 *image, const unsigned int
filters, const int colors);
@@ -160,7 +160,7 @@
(int)(filters >> ((((row) << 1 & 14) + ((col) & 1)) << 1) & 3)
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSDemosaic *demosaic = RS_DEMOSAIC(filter);
RS_IMAGE16 *input;
Modified: trunk/plugins/denoise/denoise.c
===================================================================
--- trunk/plugins/denoise/denoise.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/denoise/denoise.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -59,7 +59,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static void settings_changed(RSSettings *settings, RSSettingsMask mask,
RSDenoise *denoise);
static RSFilterClass *rs_denoise_parent_class = NULL;
@@ -232,9 +232,10 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSDenoise *denoise = RS_DENOISE(filter);
+ GdkRectangle *roi;
RS_IMAGE16 *input;
RS_IMAGE16 *output;
RS_IMAGE16 *tmp;
@@ -248,8 +249,8 @@
output = rs_image16_copy(input, TRUE);
g_object_unref(input);
- if (param && param->roi)
- tmp = rs_image16_new_subframe(output, param->roi);
+ if ((roi = rs_filter_param_get_roi(param)))
+ tmp = rs_image16_new_subframe(output, roi);
else
tmp = g_object_ref(output);
Modified: trunk/plugins/exposure-mask/exposure-mask.c
===================================================================
--- trunk/plugins/exposure-mask/exposure-mask.c 2009-07-05 19:34:52 UTC (rev
2555)
+++ trunk/plugins/exposure-mask/exposure-mask.c 2009-07-05 19:36:59 UTC (rev
2556)
@@ -48,7 +48,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static GdkPixbuf *get_image8(RSFilter *filter, RS_FILTER_PARAM *param);
+static GdkPixbuf *get_image8(RSFilter *filter, const RSFilterParam *param);
static RSFilterClass *rs_exposure_mask_parent_class = NULL;
@@ -116,7 +116,7 @@
}
static GdkPixbuf *
-get_image8(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image8(RSFilter *filter, const RSFilterParam *param)
{
RSExposureMask *exposure_mask = RS_EXPOSURE_MASK(filter);
GdkPixbuf *input;
@@ -129,6 +129,7 @@
input = rs_filter_get_image8(filter->previous, param);
+ /* FIXME: Support ROI */
if (exposure_mask->exposure_mask)
{
output = gdk_pixbuf_copy(input);
Modified: trunk/plugins/input-file/input-file.c
===================================================================
--- trunk/plugins/input-file/input-file.c 2009-07-05 19:34:52 UTC (rev
2555)
+++ trunk/plugins/input-file/input-file.c 2009-07-05 19:36:59 UTC (rev
2556)
@@ -47,7 +47,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static gint get_width(RSFilter *filter);
static gint get_height(RSFilter *filter);
@@ -125,7 +125,7 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSInputFile *input = RS_INPUT_FILE(filter);
Modified: trunk/plugins/input-image16/input-image16.c
===================================================================
--- trunk/plugins/input-image16/input-image16.c 2009-07-05 19:34:52 UTC (rev
2555)
+++ trunk/plugins/input-image16/input-image16.c 2009-07-05 19:36:59 UTC (rev
2556)
@@ -51,7 +51,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static RSIccProfile *get_icc_profile(RSFilter *filter);
static void dispose (GObject *object);
static gint get_width(RSFilter *filter);
@@ -163,7 +163,7 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSInputImage16 *input_image16 = RS_INPUT_IMAGE16(filter);
Modified: trunk/plugins/lensfun/lensfun.c
===================================================================
--- trunk/plugins/lensfun/lensfun.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/lensfun/lensfun.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -61,7 +61,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static void inline rs_image16_nearest_full(RS_IMAGE16 *in, gushort *out,
gfloat *pos);
static void inline rs_image16_bilinear_full(RS_IMAGE16 *in, gushort *out,
gfloat *pos);
@@ -233,7 +233,7 @@
return NULL;
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSLensfun *lensfun = RS_LENSFUN(filter);
RS_IMAGE16 *input;
Modified: trunk/plugins/resample/resample.c
===================================================================
--- trunk/plugins/resample/resample.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/resample/resample.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -73,7 +73,7 @@
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
static void previous_changed(RSFilter *filter, RSFilter *parent,
RSFilterChangedMask mask);
static RSFilterChangedMask recalculate_dimensions(RSResample *resample);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static gint get_width(RSFilter *filter);
static gint get_height(RSFilter *filter);
static void ResizeH(ResampleInfo *info);
@@ -269,7 +269,7 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSResample *resample = RS_RESAMPLE(filter);
RS_IMAGE16 *afterHorizontal;
@@ -279,11 +279,12 @@
gint input_height = rs_filter_get_height(filter->previous);
/* Remove ROI, it doesn't make sense across resampler */
- if (param && param->roi)
+ if (rs_filter_param_get_roi(param))
{
- RS_FILTER_PARAM new_param = *param;
- new_param.roi = NULL;
- input = rs_filter_get_image(filter->previous, &new_param);
+ RSFilterParam *new_param = rs_filter_param_clone(param);
+ rs_filter_param_set_roi(new_param, NULL);
+ input = rs_filter_get_image(filter->previous, new_param);
+ g_object_unref(new_param);
}
else
input = rs_filter_get_image(filter->previous, param);
Modified: trunk/plugins/rotate/rotate.c
===================================================================
--- trunk/plugins/rotate/rotate.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/plugins/rotate/rotate.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -71,7 +71,7 @@
static void get_property (GObject *object, guint property_id, GValue *value,
GParamSpec *pspec);
static void set_property (GObject *object, guint property_id, const GValue
*value, GParamSpec *pspec);
static void previous_changed(RSFilter *filter, RSFilter *parent,
RSFilterChangedMask mask);
-static RS_IMAGE16 *get_image(RSFilter *filter, RS_FILTER_PARAM *param);
+static RS_IMAGE16 *get_image(RSFilter *filter, const RSFilterParam *param);
static void turn_right_angle(RS_IMAGE16 *in, RS_IMAGE16 *out, gint start_y,
gint end_y, const int direction);
static gint get_width(RSFilter *filter);
static gint get_height(RSFilter *filter);
@@ -188,7 +188,7 @@
}
static RS_IMAGE16 *
-get_image(RSFilter *filter, RS_FILTER_PARAM *param)
+get_image(RSFilter *filter, const RSFilterParam *param)
{
RSRotate *rotate = RS_ROTATE(filter);
RS_IMAGE16 *input;
Modified: trunk/src/rs-loupe.c
===================================================================
--- trunk/src/rs-loupe.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/src/rs-loupe.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -232,16 +232,18 @@
gtk_window_get_size(GTK_WINDOW(loupe), &window_width, &window_height);
/* Create request ROI */
- RS_FILTER_PARAM param;
+ RSFilterParam *param = rs_filter_param_new();
GdkRectangle request;
request.x = CLAMP(loupe->center_x - window_width/2, 0,
width-window_width-1);
request.y = CLAMP(loupe->center_y - window_height/2, 0,
height-window_height-1);
request.width = window_width;
request.height = window_height;
- param.roi = &request;
+ rs_filter_param_set_roi(param, &request);
- GdkPixbuf *buffer = rs_filter_get_image8(loupe->filter, ¶m);
+ GdkPixbuf *buffer = rs_filter_get_image8(loupe->filter, param);
+ g_object_unref(param);
+
add_border(loupe, buffer, &request);
gdk_draw_pixbuf(drawable, gc, buffer, request.x, request.y, 0, 0,
request.width, request.height, GDK_RGB_DITHER_NONE, 0, 0);
Modified: trunk/src/rs-preview-widget.c
===================================================================
--- trunk/src/rs-preview-widget.c 2009-07-05 19:34:52 UTC (rev 2555)
+++ trunk/src/rs-preview-widget.c 2009-07-05 19:36:59 UTC (rev 2556)
@@ -1309,7 +1309,7 @@
/* Render the photo itself */
if (gdk_rectangle_intersect(dirty_area, &placement, &area))
{
- RS_FILTER_PARAM param;
+ RSFilterParam *param = rs_filter_param_new();
GdkRectangle roi = area;
roi.x -= placement.x;
roi.y -= placement.y;
@@ -1318,8 +1318,9 @@
preview->last_roi[i] = g_new(GdkRectangle, 1);
*preview->last_roi[i] = roi;
- param.roi = &roi;
- GdkPixbuf *buffer =
rs_filter_get_image8(preview->filter_end[i], ¶m);
+ rs_filter_param_set_roi(param, &roi);
+ GdkPixbuf *buffer =
rs_filter_get_image8(preview->filter_end[i], param);
+ g_object_unref(param);
if (buffer)
{
@@ -2369,12 +2370,14 @@
if (!preview->last_roi[view])
return FALSE;
- RS_FILTER_PARAM param;
- param.roi = preview->last_roi[view];
+ RSFilterParam *param = rs_filter_param_new();
+ rs_filter_param_set_roi(param, preview->last_roi[view]);
- RS_IMAGE16 *image = rs_filter_get_image(preview->filter_cache1[view],
¶m);
- GdkPixbuf *buffer = rs_filter_get_image8(preview->filter_end[view],
¶m);
+ RS_IMAGE16 *image = rs_filter_get_image(preview->filter_cache1[view],
param);
+ GdkPixbuf *buffer = rs_filter_get_image8(preview->filter_end[view],
param);
+ g_object_unref(param);
+
/* Get the real coordinates */
cbdata->pixel = rs_image16_get_pixel(image, screen_x, screen_y, TRUE);
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit