mirror of
https://github.com/wiidev/usbloadergx.git
synced 2024-11-18 01:09:16 +01:00
Added more ResumeGui() so the app doesn't freeze when it errors in the disc browser.
This commit is contained in:
parent
1e335a1adc
commit
18b8f34b29
@ -34,27 +34,33 @@ int DiscBrowse(struct discHdr * header) {
|
||||
bool exit = false;
|
||||
int ret, choice;
|
||||
u64 offset;
|
||||
HaltGui();
|
||||
|
||||
//Halt Gui seems to fix that pain in the ass code dump. We'll see.
|
||||
HaltGui();
|
||||
ret = Disc_SetUSB(header->id);
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not set USB."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = Disc_Open();
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not open disc."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = __Disc_FindPartition(&offset);
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not find a WBFS partition."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = WDVD_OpenPartition(offset);
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not open WBFS partition"), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
@ -62,12 +68,14 @@ HaltGui();
|
||||
int *buffer = (int*)allocate_memory(0x20);
|
||||
|
||||
if (buffer == NULL) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Not enough free memory."), tr("OK"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = WDVD_Read(buffer, 0x20, 0x420);
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not read the disc."), tr("OK"));
|
||||
return ret;
|
||||
}
|
||||
@ -76,6 +84,7 @@ HaltGui();
|
||||
FST_ENTRY *fst = (FST_ENTRY *)fstbuffer;
|
||||
|
||||
if (fst == NULL) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Not enough free memory."), tr("OK"));
|
||||
free(buffer);
|
||||
return -1;
|
||||
@ -84,12 +93,13 @@ HaltGui();
|
||||
ret = WDVD_Read(fstbuffer, buffer[2]*4, buffer[1]*4);
|
||||
|
||||
if (ret < 0) {
|
||||
ResumeGui();
|
||||
WindowPrompt(tr("ERROR:"), tr("Could not read the disc."), tr("OK"));
|
||||
free(buffer);
|
||||
free(fstbuffer);
|
||||
return ret;
|
||||
}
|
||||
ResumeGui();
|
||||
ResumeGui();
|
||||
free(buffer);
|
||||
|
||||
WDVD_Reset();
|
||||
|
@ -2200,63 +2200,6 @@ int GameSettings(struct discHdr * header) {
|
||||
int res = DiscBrowse(header);
|
||||
if ((res >= 0)&&(res !=696969)) {//if res==696969 they pressed the back button
|
||||
alternatedoloffset = res;
|
||||
|
||||
/////////////////
|
||||
//w.Remove(&optionBrowser2);
|
||||
//w.Remove(&backBtn);
|
||||
//char entered[43] = "";
|
||||
//titleTxt.SetText(tr("ThemePath"));
|
||||
//strncpy(entered, CFG.theme_path, sizeof(entered));
|
||||
//int result = BrowseDevice(entered);
|
||||
//int result = OnScreenKeyboard(entered, 43,0);
|
||||
// HaltGui();
|
||||
//w.RemoveAll();
|
||||
//if ( result == 1 ) {
|
||||
// int len = (strlen(entered)-1);
|
||||
// if (entered[len] !='/')
|
||||
// strncat (entered, "/", 1);
|
||||
// strncpy(CFG.theme_path, entered, sizeof(CFG.theme_path));
|
||||
// WindowPrompt(tr("Themepath Changed"),0,tr("OK"));
|
||||
// if(!isSdInserted()) {
|
||||
// if (!isInserted(bootDevice)) {
|
||||
// WindowPrompt(tr("No SD-Card inserted!"), tr("Insert an SD-Card to save."), tr("OK"));
|
||||
// } else {
|
||||
// cfg_save_global();
|
||||
// }
|
||||
// mainWindow->Remove(bgImg);
|
||||
// CFG_Load();
|
||||
// CFG_LoadGlobal();
|
||||
// menu = MENU_SETTINGS;
|
||||
//#ifdef HW_RVL
|
||||
/* snprintf(imgPath, sizeof(imgPath), "%splayer1_point.png", CFG.theme_path);
|
||||
pointer[0] = new GuiImageData(imgPath, player1_point_png);
|
||||
snprintf(imgPath, sizeof(imgPath), "%splayer2_point.png", CFG.theme_path);
|
||||
pointer[1] = new GuiImageData(imgPath, player2_point_png);
|
||||
snprintf(imgPath, sizeof(imgPath), "%splayer3_point.png", CFG.theme_path);
|
||||
pointer[2] = new GuiImageData(imgPath, player3_point_png);
|
||||
snprintf(imgPath, sizeof(imgPath), "%splayer4_point.png", CFG.theme_path);
|
||||
pointer[3] = new GuiImageData(imgPath, player4_point_png);
|
||||
//#endif
|
||||
if (CFG.widescreen)
|
||||
snprintf(imgPath, sizeof(imgPath), "%swbackground.png", CFG.theme_path);
|
||||
else
|
||||
snprintf(imgPath, sizeof(imgPath), "%sbackground.png", CFG.theme_path);
|
||||
|
||||
background = new GuiImageData(imgPath, CFG.widescreen? wbackground_png : background_png);
|
||||
|
||||
bgImg = new GuiImage(background);
|
||||
mainWindow->Append(bgImg);
|
||||
mainWindow->Append(&w);
|
||||
}
|
||||
w.Append(&settingsbackground);
|
||||
w.Append(&titleTxt);
|
||||
titleTxt.SetText(tr("Custom Paths"));
|
||||
w.Append(&backBtn);
|
||||
w.Append(&optionBrowser2);*/
|
||||
// ResumeGui();
|
||||
|
||||
////////////////
|
||||
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -2264,14 +2207,11 @@ int GameSettings(struct discHdr * header) {
|
||||
if ((res >= 0)&&(res !=696969)){
|
||||
alternatedoloffset = res;
|
||||
|
||||
char tmp[170];
|
||||
snprintf(tmp,sizeof(tmp),"%s %s - %i",tr("It seems that you have some information that will be helpfull to us. Please pass this information along to the DEV team.") ,filename,alternatedoloffset);
|
||||
WindowPrompt(0,tmp,tr("Ok"));
|
||||
char tmp[170];
|
||||
snprintf(tmp,sizeof(tmp),"%s %s - %i",tr("It seems that you have some information that will be helpfull to us. Please pass this information along to the DEV team.") ,filename,alternatedoloffset);
|
||||
WindowPrompt(0,tmp,tr("Ok"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
|
Loading…
Reference in New Issue
Block a user