]> Dogcows Code - chaz/openbox/blobdiff - src/Screen.cc
fix 2 bus errors on osx:
[chaz/openbox] / src / Screen.cc
index 50bc4ceb94334df59f4335f3fb131b0e104bb31c..4f4718ec1a4eab95b4f57cd2f4ca55d525cf61f3 100644 (file)
@@ -232,9 +232,14 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
   rootmenu = 0;
 
   resource.mstyle.t_fontset = resource.mstyle.f_fontset =
-    resource.tstyle.fontset = resource.wstyle.fontset = (XFontSet) 0;
+    resource.tstyle.fontset = resource.wstyle.fontset = NULL;
   resource.mstyle.t_font = resource.mstyle.f_font = resource.tstyle.font =
-    resource.wstyle.font = (XFontStruct *) 0;
+    resource.wstyle.font = NULL;
+
+#ifdef   SLIT
+  slit = NULL;
+#endif // SLIT
+  toolbar = NULL;
 
 #ifdef    HAVE_GETPID
   pid_t bpid = getpid();
@@ -415,7 +420,7 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
   iconmenu = new Iconmenu(*this);
   configmenu = new Configmenu(*this);
 
-  Workspace *wkspc = (Workspace *) 0;
+  Workspace *wkspc = NULL;
   if (resource.workspaces != 0) {
     for (int i = 0; i < resource.workspaces; ++i) {
       wkspc = new Workspace(*this, workspacesList->count());
@@ -1058,6 +1063,13 @@ void BScreen::load() {
   rclass << rscreen.str() << "HideToolbar" << ends;
   if (config.getValue(rname.str(), rclass.str(), b))
     resource.hide_toolbar = b;
+  Toolbar *t = getToolbar();
+  if (t != NULL) {
+    if (resource.hide_toolbar)
+      t->unMapToolbar();
+    else
+      t->mapToolbar();
+  }
 
   rname.seekp(0); rclass.seekp(0);
   rname << rscreen.str() << "fullMaximization" << ends;
@@ -1205,6 +1217,7 @@ void BScreen::load() {
   rname.seekp(0); rclass.seekp(0);
   rname << rscreen.str() << "opaqueMove" << ends;
   rclass << rscreen.str() << "OpaqueMove" << ends;
+  if (config.getValue(rname.str(), rclass.str(), b))
     resource.opaque_move = b;
 }
 
@@ -1389,8 +1402,13 @@ void BScreen::removeWorkspaceNames(void) {
 void BScreen::LoadStyle(void) {
   Resource &conf = resource.styleconfig;
   
-  conf.setFile(openbox.getStyleFilename());
-  if (!conf.load()) {
+  const char *sfile = openbox.getStyleFilename();
+  bool loaded = false;
+  if (sfile != NULL) {
+    conf.setFile(sfile);
+    loaded = conf.load();
+  }
+  if (!loaded) {
     conf.setFile(DEFAULTSTYLE);
     if (!conf.load()) {
       fprintf(stderr, i18n->getMessage(ScreenSet, ScreenDefaultStyleLoadFail,
@@ -1729,7 +1747,7 @@ OpenboxWindow *BScreen::getIcon(int index) {
   if (index >= 0 && index < iconList->count())
     return iconList->find(index);
 
-  return (OpenboxWindow *) 0;
+  return NULL;
 }
 
 
@@ -1788,7 +1806,7 @@ void BScreen::changeWorkspaceID(int id) {
        openbox.getFocusedWindow()->getScreen() == this &&
         (! openbox.getFocusedWindow()->isStuck())) {
       current_workspace->setLastFocusedWindow(openbox.getFocusedWindow());
-      openbox.setFocusedWindow((OpenboxWindow *) 0);
+      openbox.setFocusedWindow(NULL);
     }
 
     current_workspace = getWorkspace(id);
@@ -1955,7 +1973,7 @@ void BScreen::addWorkspaceName(const char *name) {
 }
 
 char* BScreen::getNameOfWorkspace(int id) {
-  char *name = (char *) 0;
+  char *name = NULL;
 
   if (id >= 0 && id < workspaceNames->count()) {
     char *wkspc_name = workspaceNames->find(id);
@@ -2147,7 +2165,7 @@ void BScreen::InitMenu(void) {
     rootmenu->insert(i18n->getMessage(ScreenSet, ScreenExit, "Exit"),
                     BScreen::Exit);
   } else {
-    openbox.saveMenuFilename(openbox.getMenuFilename());
+    openbox.setMenuFilename(openbox.getMenuFilename());
   }
 }
 
@@ -2348,7 +2366,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
 
                if (! feof(submenufile)) {
                  if (! parseMenuFile(submenufile, menu))
-                   openbox.saveMenuFilename(newfile);
+                   openbox.setMenuFilename(newfile);
 
                  fclose(submenufile);
                }
@@ -2507,7 +2525,7 @@ Bool BScreen::parseMenuFile(FILE *file, Rootmenu *menu) {
                   rootmenuList->insert(stylesmenu);
                 }
 
-                openbox.saveMenuFilename(stylesdir);
+                openbox.setMenuFilename(stylesdir);
               } else {
                 fprintf(stderr, i18n->getMessage(ScreenSet,
                                                 ScreenSTYLESDIRErrorNotDir,
This page took 0.024413 seconds and 4 git commands to generate.