Fix the current pixelsize impacting thumbnails
authorCampbell Barton <ideasman42@gmail.com>
Wed, 20 May 2020 04:58:57 +0000 (14:58 +1000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 20 May 2020 04:58:57 +0000 (14:58 +1000)
source/blender/windowmanager/intern/wm_files.c

index b9f0e3686db09896a7ec029446b01741ab031f69..cc81e4f27159bb15658476a30dbc1eb1a8f05d88 100644 (file)
@@ -1212,6 +1212,7 @@ static ImBuf *blend_file_thumb(const bContext *C,
   ImBuf *ibuf;
   BlendThumbnail *thumb;
   wmWindowManager *wm = CTX_wm_manager(C);
+  const float pixelsize_old = U.pixelsize;
   wmWindow *windrawable_old = wm->windrawable;
   char err_out[256] = "unknown";
 
@@ -1246,6 +1247,10 @@ static ImBuf *blend_file_thumb(const bContext *C,
   /* gets scaled to BLEN_THUMB_SIZE */
   Depsgraph *depsgraph = CTX_data_ensure_evaluated_depsgraph(C);
 
+  /* Note that with scaling, this ends up being 0.5,
+   * as it's a thumbnail, we don't need object centers and friends to be 1:1 size. */
+  U.pixelsize = 1.0f;
+
   if (scene->camera) {
     ibuf = ED_view3d_draw_offscreen_imbuf_simple(depsgraph,
                                                  scene,
@@ -1276,6 +1281,8 @@ static ImBuf *blend_file_thumb(const bContext *C,
                                           err_out);
   }
 
+  U.pixelsize = pixelsize_old;
+
   /* Reset to old drawable. */
   if (windrawable_old) {
     wm_window_make_drawable(wm, windrawable_old);