@@ -4288,6 +4288,7 @@ get_default_file_icon (CajaFileIconFlags flags)
42884288CajaIconInfo *
42894289caja_file_get_icon (CajaFile * file ,
42904290 int size ,
4291+ int scale ,
42914292 CajaFileIconFlags flags )
42924293{
42934294 CajaIconInfo * icon ;
@@ -4303,7 +4304,7 @@ caja_file_get_icon (CajaFile *file,
43034304 if (gicon ) {
43044305 GdkPixbuf * pixbuf ;
43054306
4306- icon = caja_icon_info_lookup (gicon , size );
4307+ icon = caja_icon_info_lookup (gicon , size , scale );
43074308 g_object_unref (gicon );
43084309
43094310 pixbuf = caja_icon_info_get_pixbuf (icon );
@@ -4313,7 +4314,7 @@ caja_file_get_icon (CajaFile *file,
43134314 }
43144315 g_object_unref (icon );
43154316
4316- icon = caja_icon_info_new_for_pixbuf (pixbuf );
4317+ icon = caja_icon_info_new_for_pixbuf (pixbuf , scale );
43174318 g_object_unref (pixbuf );
43184319 }
43194320
@@ -4329,7 +4330,7 @@ caja_file_get_icon (CajaFile *file,
43294330 caja_file_should_show_thumbnail (file )) {
43304331 if (file -> details -> thumbnail ) {
43314332 int w , h , s ;
4332- double scale ;
4333+ double thumb_scale ;
43334334
43344335 raw_pixbuf = g_object_ref (file -> details -> thumbnail );
43354336
@@ -4339,19 +4340,19 @@ caja_file_get_icon (CajaFile *file,
43394340 s = MAX (w , h );
43404341 /* Don't scale up small thumbnails in the standard view */
43414342 if (s <= cached_thumbnail_size ) {
4342- scale = (double )size / CAJA_ICON_SIZE_STANDARD ;
4343+ thumb_scale = (double )size / CAJA_ICON_SIZE_STANDARD ;
43434344 }
43444345 else {
4345- scale = (double )modified_size / s ;
4346+ thumb_scale = (double )modified_size / s ;
43464347 }
43474348 /* Make sure that icons don't get smaller than CAJA_ICON_SIZE_SMALLEST */
4348- if (s * scale <= CAJA_ICON_SIZE_SMALLEST ) {
4349- scale = (double ) CAJA_ICON_SIZE_SMALLEST / s ;
4349+ if (s * thumb_scale <= CAJA_ICON_SIZE_SMALLEST ) {
4350+ thumb_scale = (double ) CAJA_ICON_SIZE_SMALLEST / s ;
43504351 }
43514352
43524353 scaled_pixbuf = gdk_pixbuf_scale_simple (raw_pixbuf ,
4353- MAX (w * scale , 1 ),
4354- MAX (h * scale , 1 ),
4354+ MAX (w * thumb_scale , 1 ),
4355+ MAX (h * thumb_scale , 1 ),
43554356 GDK_INTERP_BILINEAR );
43564357
43574358 /* Render frames only for thumbnails of non-image files
@@ -4377,7 +4378,7 @@ caja_file_get_icon (CajaFile *file,
43774378 caja_file_invalidate_attributes (file , CAJA_FILE_ATTRIBUTE_THUMBNAIL );
43784379 }
43794380
4380- icon = caja_icon_info_new_for_pixbuf (scaled_pixbuf );
4381+ icon = caja_icon_info_new_for_pixbuf (scaled_pixbuf , scale );
43814382 g_object_unref (scaled_pixbuf );
43824383 return icon ;
43834384 } else if (file -> details -> thumbnail_path == NULL &&
@@ -4397,28 +4398,29 @@ caja_file_get_icon (CajaFile *file,
43974398 gicon = caja_file_get_gicon (file , flags );
43984399
43994400 if (gicon ) {
4400- icon = caja_icon_info_lookup (gicon , size );
4401+ icon = caja_icon_info_lookup (gicon , size , scale );
44014402 if (caja_icon_info_is_fallback (icon )) {
44024403 g_object_unref (icon );
4403- icon = caja_icon_info_lookup (get_default_file_icon (flags ), size );
4404+ icon = caja_icon_info_lookup (get_default_file_icon (flags ), size , scale );
44044405 }
44054406 g_object_unref (gicon );
44064407 return icon ;
44074408 } else {
4408- return caja_icon_info_lookup (get_default_file_icon (flags ), size );
4409+ return caja_icon_info_lookup (get_default_file_icon (flags ), size , scale );
44094410 }
44104411}
44114412
44124413GdkPixbuf *
44134414caja_file_get_icon_pixbuf (CajaFile * file ,
44144415 int size ,
44154416 gboolean force_size ,
4417+ int scale ,
44164418 CajaFileIconFlags flags )
44174419{
44184420 CajaIconInfo * info ;
44194421 GdkPixbuf * pixbuf ;
44204422
4421- info = caja_file_get_icon (file , size , flags );
4423+ info = caja_file_get_icon (file , size , scale , flags );
44224424 if (force_size ) {
44234425 pixbuf = caja_icon_info_get_pixbuf_at_size (info , size );
44244426 } else {
@@ -6719,7 +6721,7 @@ caja_file_get_emblem_pixbufs (CajaFile *file,
67196721 for (l = icons ; l != NULL ; l = l -> next ) {
67206722 icon = l -> data ;
67216723
6722- icon_info = caja_icon_info_lookup (icon , size );
6724+ icon_info = caja_icon_info_lookup (icon , size , 1 );
67236725 if (force_size ) {
67246726 pixbuf = caja_icon_info_get_pixbuf_nodefault_at_size (icon_info , size );
67256727 } else {
0 commit comments