NoGUI: general cleanup, add initialization stuff added in r5064, fixed the cocoa event loop not shutting down when not booting a game on OSX.
SysConf: removed the Save call in the dtor, this crashes on linux trying to read m_Filename (which might be already freed). Common: set eol-style native, again. Fixes Issue 2332 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5082 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
0819740b6a
commit
3a5a7de906
|
@ -38,8 +38,6 @@ SysConf::~SysConf()
|
|||
if (!m_IsValid)
|
||||
return;
|
||||
|
||||
Save();
|
||||
|
||||
for (size_t i = 0; i < m_Entries.size() - 1; i++)
|
||||
{
|
||||
delete [] m_Entries.at(i).data;
|
||||
|
|
|
@ -44,15 +44,12 @@
|
|||
#include "cmdline.h"
|
||||
#include "Thread.h"
|
||||
#include "PowerPC/PowerPC.h"
|
||||
|
||||
#include "PluginManager.h"
|
||||
|
||||
|
||||
#include "ConfigManager.h"
|
||||
#include "LogManager.h"
|
||||
#include "BootManager.h"
|
||||
void* g_pCodeWindow = NULL;
|
||||
void* main_frame = NULL;
|
||||
|
||||
// OK, this thread boundary is DANGEROUS on linux
|
||||
// wxPostEvent / wxAddPendingEvent is the solution.
|
||||
void Host_NotifyMapLoaded(){}
|
||||
|
||||
void Host_ShowJitResults(unsigned int address){}
|
||||
|
@ -99,7 +96,7 @@ void Host_SysMessage(const char *fmt, ...)
|
|||
msg[len - 1] = '\n';
|
||||
msg[len] = '\0';
|
||||
}
|
||||
fprintf(stderr, msg);
|
||||
fprintf(stderr, "%s", msg);
|
||||
}
|
||||
|
||||
void Host_UpdateLeds(int led_bits)
|
||||
|
@ -167,6 +164,7 @@ int appleMain(int argc, char *argv[]);
|
|||
@end
|
||||
|
||||
|
||||
volatile bool running;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
|
@ -182,9 +180,10 @@ int main(int argc, char *argv[])
|
|||
NSEvent *event = [[NSEvent alloc] init];
|
||||
|
||||
[thread cocoaThreadStart];
|
||||
running = true;
|
||||
|
||||
//cocoa event loop
|
||||
while(true)
|
||||
while(running)
|
||||
{
|
||||
event = [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:[NSDate distantPast] inMode:NSDefaultRunLoopMode dequeue:YES ];
|
||||
if(cocoaSendEvent(event))
|
||||
|
@ -212,7 +211,7 @@ int main(int argc, char* argv[])
|
|||
{
|
||||
gengetopt_args_info args_info;
|
||||
|
||||
if (cmdline_parser (argc, argv, &args_info) != 0)
|
||||
if (cmdline_parser(argc, argv, &args_info) != 0)
|
||||
return(1);
|
||||
|
||||
if (args_info.inputs_num < 1)
|
||||
|
@ -224,30 +223,29 @@ int main(int argc, char* argv[])
|
|||
|
||||
updateMainFrameEvent.Init();
|
||||
cpu_info.Detect();
|
||||
|
||||
LogManager::Init();
|
||||
EventHandler::Init();
|
||||
SConfig::Init();
|
||||
CPluginManager::Init();
|
||||
|
||||
CPluginManager::GetInstance().ScanForPlugins();
|
||||
|
||||
// check to see if ~/Library/Application Support/Dolphin exists; if not, create it
|
||||
char AppSupportDir[MAXPATHLEN];
|
||||
snprintf(AppSupportDir, sizeof(AppSupportDir), "%s/Library/Application Support", getenv("HOME"));
|
||||
if (!File::Exists(AppSupportDir) || !File::IsDirectory(AppSupportDir))
|
||||
PanicAlert("Could not open ~/Library/Application Support");
|
||||
|
||||
strncat(AppSupportDir, "/Dolphin", sizeof(AppSupportDir));
|
||||
|
||||
if (!File::Exists(AppSupportDir))
|
||||
File::CreateDir(AppSupportDir);
|
||||
|
||||
if (!File::IsDirectory(AppSupportDir))
|
||||
PanicAlert("~/Library/Application Support/Dolphin exists, but is not a directory");
|
||||
|
||||
chdir(AppSupportDir);
|
||||
|
||||
|
||||
BootManager::BootCore(bootFile);
|
||||
if (BootManager::BootCore(bootFile)) //no use running the loop when booting fails
|
||||
{
|
||||
while (PowerPC::GetState() != PowerPC::CPU_POWERDOWN)
|
||||
{
|
||||
updateMainFrameEvent.Wait();
|
||||
}
|
||||
}
|
||||
#if defined(HAVE_COCOA) && HAVE_COCOA
|
||||
running = false;
|
||||
#endif
|
||||
|
||||
CPluginManager::Shutdown();
|
||||
SConfig::Shutdown();
|
||||
EventHandler::Shutdown();
|
||||
LogManager::Shutdown();
|
||||
|
||||
cmdline_parser_free (&args_info);
|
||||
return(0);
|
||||
|
|
Loading…
Reference in New Issue