Mercurial > sdl-ios-xcode
annotate src/main/linux/SDL_Qtopia_main.cc @ 612:0648505b1f8b
Fixed video intitialization problem on Qtopia (thanks David!)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 15 Apr 2003 16:04:31 +0000 |
parents | 969fbd4dcd4e |
children |
rev | line source |
---|---|
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
2 /* Include the SDL main definition header */ |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
3 #include "SDL_main.h" |
567 | 4 #include <stdlib.h> |
5 #include <unistd.h> | |
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
6 #ifdef main |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
7 #undef main |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
8 #endif |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
9 #ifdef QWS |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
10 #include <qpe/qpeapplication.h> |
567 | 11 #include <qapplication.h> |
12 #include <qpe/qpeapplication.h> | |
13 #include <stdlib.h> | |
14 | |
15 // Workaround for OPIE to remove taskbar icon. Also fixes | |
16 // some issues in Qtopia where there are left-over qcop files in /tmp/. | |
17 // I'm guessing this will also clean up the taskbar in the Sharp version | |
18 // of Qtopia. | |
19 static inline void cleanupQCop() { | |
20 QString appname(qApp->argv()[0]); | |
21 int slash = appname.findRev("/"); | |
22 if(slash != -1) { appname = appname.mid(slash+1); } | |
23 QString cmd = QPEApplication::qpeDir() + "bin/qcop QPE/System 'closing(QString)' '"+appname+"'"; | |
24 system(cmd.latin1()); | |
25 cmd = "/tmp/qcop-msg-"+appname; | |
26 unlink(cmd.latin1()); | |
27 } | |
28 | |
29 static QPEApplication *app; | |
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 #endif |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 extern int SDL_main(int argc, char *argv[]); |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
33 |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
34 int main(int argc, char *argv[]) |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 { |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 #ifdef QWS |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 // This initializes the Qtopia application. It needs to be done here |
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 // because it parses command line options. |
612
0648505b1f8b
Fixed video intitialization problem on Qtopia (thanks David!)
Sam Lantinga <slouken@libsdl.org>
parents:
567
diff
changeset
|
39 app = new QPEApplication(argc, argv); |
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
40 QWidget dummy; |
567 | 41 app->showMainWidget(&dummy); |
42 atexit(cleanupQCop); | |
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
43 #endif |
394
d15bef937f00
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
379
diff
changeset
|
44 // Exit here because if return is used, the application |
d15bef937f00
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
379
diff
changeset
|
45 // doesn't seem to quit correctly. |
d15bef937f00
*** empty log message ***
Sam Lantinga <slouken@libsdl.org>
parents:
379
diff
changeset
|
46 exit(SDL_main(argc, argv)); |
371
db0cc6034336
Added David Hedbor's Qtopia patches
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
47 } |