ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/main_unix.cpp
(Generate patch)

Comparing BasiliskII/src/Unix/main_unix.cpp (file contents):
Revision 1.27 by cebix, 2000-11-30T16:20:52Z vs.
Revision 1.28 by cebix, 2001-01-04T19:50:22Z

# Line 50 | Line 50 | struct sigstate {
50  
51   #ifdef ENABLE_GTK
52   # include <gtk/gtk.h>
53 + # include <gdk/gdk.h>
54   #endif
55  
56   #ifdef ENABLE_XF86_DGA
# Line 208 | Line 209 | int main(int argc, char **argv)
209          printf(GetString(STR_ABOUT_TEXT1), VERSION_MAJOR, VERSION_MINOR);
210          printf(" %s\n", GetString(STR_ABOUT_TEXT2));
211  
212 <        // Parse arguments
212 > #ifdef ENABLE_GTK
213 >        // Init GTK
214 >        gtk_set_locale();
215 >        gtk_init(&argc, &argv);
216 >        x_display_name = gdk_get_display(); // gtk_init() handles and removes the "--display" argument
217 > #endif
218 >
219 >        // Parse and remove arguments
220          for (int i=1; i<argc; i++) {
221 <                if (strcmp(argv[i], "-display") == 0 && ++i < argc)
222 <                        x_display_name = argv[i];
223 <                else if (strcmp(argv[i], "-break") == 0 && ++i < argc)
224 <                        ROMBreakpoint = strtol(argv[i], NULL, 0);
225 <                else if (strcmp(argv[i], "-rominfo") == 0)
221 >                if (strcmp(argv[i], "--display") == 0) {
222 >                        argv[i] = NULL;
223 >                        if ((i + 1) < argc && argv[i + 1]) {
224 >                                argv[i++] = NULL;
225 >                                x_display_name = strdup(argv[i]);
226 >                        }
227 >                } else if (strcmp(argv[i], "--break") == 0) {
228 >                        argv[i] = NULL;
229 >                        if ((i + 1) < argc && argv[i + 1]) {
230 >                                argv[i++] = NULL;
231 >                                ROMBreakpoint = strtol(argv[i], NULL, 0);
232 >                        }
233 >                } else if (strcmp(argv[i], "--rominfo") == 0) {
234 >                        argv[i] = NULL;
235                          PrintROMInfo = true;
236 +                }
237 +        }
238 +        for (int i=1; i<argc; i++) {
239 +                int k;
240 +                for (k=i; k<argc; k++)
241 +                        if (argv[k] != NULL)
242 +                                break;
243 +                if (k > i) {
244 +                        k -= i;
245 +                        for (int j=i+k; j<argc; j++)
246 +                                argv[j-k] = argv[j];
247 +                        argc -= k;
248 +                }
249          }
250  
251          // Open display
# Line 232 | Line 262 | int main(int argc, char **argv)
262          XF86DGAForkApp(DefaultScreen(x_display));
263   #endif
264  
235 #ifdef ENABLE_GTK
236        // Init GTK
237        gtk_set_locale();
238        gtk_init(&argc, &argv);
239 #endif
240
265          // Read preferences
266 <        PrefsInit();
266 >        PrefsInit(argc, argv);
267  
268          // Init system routines
269          SysInit();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines