@@ -133,8 +133,8 @@ iimageview_refresh(vObject *vobject)
133133 Tilesource * tilesource ;
134134
135135#ifdef DEBUG
136- #endif /*DEBUG*/
137136 printf ("iimageview_refresh:\n" );
137+ #endif /*DEBUG*/
138138
139139 // on the first refresh, register with the enclosing workspaceview
140140 if (iimageview -> first ) {
@@ -146,45 +146,46 @@ iimageview_refresh(vObject *vobject)
146146
147147 iimageview_compute_visibility (iimageview );
148148
149- if (iimageview -> enable ) {
150- if (!iimage -> value .ii )
151- g_object_set (iimageview -> imagedisplay ,
152- "tilesource" , NULL ,
153- NULL );
154- else {
155- g_object_get (iimageview -> imagedisplay ,
156- "tilesource" , & tilesource ,
157- NULL );
158-
159- if (!tilesource ||
160- (tilesource -> image != iimage -> value .ii -> image )) {
161- Tilesource * new_tilesource =
162- tilesource_new_from_iimage (iimage , -1000 );
149+ if (!iimageview -> enable ||
150+ !iimage -> value .ii )
151+ g_object_set (iimageview -> imagedisplay ,
152+ "tilesource" , NULL ,
153+ NULL );
154+ else if (iimageview -> enable ) {
155+ g_object_get (iimageview -> imagedisplay ,
156+ "tilesource" , & tilesource ,
157+ NULL );
163158
164- g_object_set ( iimageview -> imagedisplay ,
165- "bestfit" , TRUE,
166- "tilesource" , new_tilesource ,
167- NULL );
159+ if (! tilesource ||
160+ ( tilesource -> image != iimage -> value . ii -> image )) {
161+ Tilesource * new_tilesource =
162+ tilesource_new_from_iimage ( iimage , -1000 );
168163
169- // set the image loading, if necessary
170- tilesource_background_load (new_tilesource );
164+ g_object_set (iimageview -> imagedisplay ,
165+ "bestfit" , TRUE,
166+ "tilesource" , new_tilesource ,
167+ NULL );
171168
172- VIPS_UNREF ( new_tilesource );
173- }
169+ // set the image loading, if necessary
170+ tilesource_background_load ( new_tilesource );
174171
175- VIPS_UNREF (tilesource );
172+ VIPS_UNREF (new_tilesource );
176173 }
174+
175+ VIPS_UNREF (tilesource );
177176 }
178177
179178 g_object_get (iimageview -> imagedisplay ,
180179 "tilesource" , & tilesource ,
181180 NULL );
182- if (tilesource )
181+ if (tilesource ) {
183182 g_object_set (tilesource ,
184183 "scale" , iimage -> scale ,
185184 "offset" , iimage -> offset ,
186185 "falsecolour" , iimage -> falsecolour ,
187186 NULL );
187+ VIPS_UNREF (tilesource );
188+ }
188189
189190 if (iimageview -> label )
190191 set_glabel (iimageview -> label , "%s" , IOBJECT (iimage )-> caption );
0 commit comments