X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2FBaseDisplay.cc;h=5b906495bc19fe3dd67bf7e5cdc7b58d28200d08;hb=d2bcec1cda227de11fef6c62a6f4aae357c3760f;hp=258e3eab2573d9669d7cfeb38074e428e802b4de;hpb=dfc5f034581f5a26cba5c4811500438f89f0634a;p=chaz%2Fopenbox diff --git a/src/BaseDisplay.cc b/src/BaseDisplay.cc index 258e3eab..5b906495 100644 --- a/src/BaseDisplay.cc +++ b/src/BaseDisplay.cc @@ -191,8 +191,8 @@ char *bstrdup(const char *s) { return n; } -BaseDisplay::BaseDisplay(char *app_name, char *dpy_name) { - application_name = app_name; +BaseDisplay::BaseDisplay(const char *app_name, char *dpy_name) { + application_name = bstrdup(app_name); _startup = True; _shutdown = False; @@ -337,7 +337,7 @@ BaseDisplay::BaseDisplay(char *app_name, char *dpy_name) { screenInfoList = new LinkedList; for (int i = 0; i < number_of_screens; i++) { - ScreenInfo *screeninfo = new ScreenInfo(this, i); + ScreenInfo *screeninfo = new ScreenInfo(*this, i); screenInfoList->insert(screeninfo); } @@ -379,6 +379,9 @@ BaseDisplay::BaseDisplay(char *app_name, char *dpy_name) { MaskListLength = sizeof(MaskList) / sizeof(MaskList[0]); if (modmap) XFreeModifiermap(const_cast(modmap)); +#else + NumLockMask = Mod2Mask; + ScrollLockMask = Mod5Mask; #endif // NOCLOBBER } @@ -571,17 +574,16 @@ void BaseDisplay::ungrabButton(unsigned int button, unsigned int modifiers, } -ScreenInfo::ScreenInfo(BaseDisplay *d, int num) { - basedisplay = d; +ScreenInfo::ScreenInfo(BaseDisplay &d, int num) : basedisplay(d) { screen_number = num; - root_window = RootWindow(basedisplay->getXDisplay(), screen_number); - depth = DefaultDepth(basedisplay->getXDisplay(), screen_number); + root_window = RootWindow(basedisplay.getXDisplay(), screen_number); + depth = DefaultDepth(basedisplay.getXDisplay(), screen_number); width = - WidthOfScreen(ScreenOfDisplay(basedisplay->getXDisplay(), screen_number)); + WidthOfScreen(ScreenOfDisplay(basedisplay.getXDisplay(), screen_number)); height = - HeightOfScreen(ScreenOfDisplay(basedisplay->getXDisplay(), screen_number)); + HeightOfScreen(ScreenOfDisplay(basedisplay.getXDisplay(), screen_number)); // search for a TrueColor Visual... if we can't find one... we will use the // default visual for the screen @@ -593,7 +595,7 @@ ScreenInfo::ScreenInfo(BaseDisplay *d, int num) { visual = (Visual *) 0; - if ((vinfo_return = XGetVisualInfo(basedisplay->getXDisplay(), + if ((vinfo_return = XGetVisualInfo(basedisplay.getXDisplay(), VisualScreenMask | VisualClassMask, &vinfo_template, &vinfo_nitems)) && vinfo_nitems > 0) { @@ -608,10 +610,10 @@ ScreenInfo::ScreenInfo(BaseDisplay *d, int num) { } if (visual) { - colormap = XCreateColormap(basedisplay->getXDisplay(), root_window, + colormap = XCreateColormap(basedisplay.getXDisplay(), root_window, visual, AllocNone); } else { - visual = DefaultVisual(basedisplay->getXDisplay(), screen_number); - colormap = DefaultColormap(basedisplay->getXDisplay(), screen_number); + visual = DefaultVisual(basedisplay.getXDisplay(), screen_number); + colormap = DefaultColormap(basedisplay.getXDisplay(), screen_number); } }