Browse Source

profile_manager: Resize any image bigger than 256p

german77 4 years ago
parent
commit
f503dbf071
1 changed files with 11 additions and 0 deletions
  1. 11 0
      src/yuzu/configuration/configure_profile_manager.cpp

+ 11 - 0
src/yuzu/configuration/configure_profile_manager.cpp

@@ -306,6 +306,17 @@ void ConfigureProfileManager::SetUserImage() {
         return;
         return;
     }
     }
 
 
+    // Some games crash when the profile image is too big. Resize any image bigger than 256x256
+    QImage image(image_path);
+    if (image.width() > 256 || image.height() > 256) {
+        image = image.scaled(256, 256, Qt::KeepAspectRatio);
+        if (!image.save(image_path)) {
+            QMessageBox::warning(this, tr("Error resizing user image"),
+                                 tr("Unable to resize image"));
+            return;
+        }
+    }
+
     const auto username = GetAccountUsername(*profile_manager, *uuid);
     const auto username = GetAccountUsername(*profile_manager, *uuid);
     item_model->setItem(index, 0,
     item_model->setItem(index, 0,
                         new QStandardItem{GetIcon(*uuid), FormatUserEntryText(username, *uuid)});
                         new QStandardItem{GetIcon(*uuid), FormatUserEntryText(username, *uuid)});