all repos — openbox @ d6c02ad70c42f074a4c3d8c433de5bb2c63dea8e

openbox fork - make it a bit more like ryudo

fix segfaut from uninitialized focused_screen pointer
Dana Jansens danakj@orodu.net
commit

d6c02ad70c42f074a4c3d8c433de5bb2c63dea8e

parent

abfaee73685890cc0bb6185fc167dd19fcdfd7f2

5 files changed, 11 insertions(+), 6 deletions(-)

jump to
M CHANGELOGCHANGELOG

@@ -1,7 +1,12 @@

Changelog for Openbox: 1.2.0: - * make image dithering value load correctly + * more focus code changes. also fixes a segfault from + last round of focus changes. (Ben Jansens) + + * make image dithering value load correctly. (Ben Jansens) + + * fix segfault with multiple screens. (Shaleh Perry) 1.1.0: * improved focused window logic to remove a segfault
M src/BaseDisplay.ccsrc/BaseDisplay.cc

@@ -519,7 +519,6 @@

void BaseDisplay::addTimer(BTimer *timer) { ASSERT(timer != (BTimer *) 0); - printf("ADDING TIMER\n"); TimerList::iterator it; for (it = timerList.begin(); it != timerList.end(); ++it) {

@@ -535,7 +534,6 @@ }

void BaseDisplay::removeTimer(BTimer *timer) { - printf("REMOVING TIMER\n"); timerList.remove(timer); }
M src/Screen.ccsrc/Screen.cc

@@ -225,6 +225,7 @@ #ifdef SLIT

slit = NULL; #endif // SLIT toolbar = NULL; + current_workspace = (Workspace *) 0; #ifdef HAVE_GETPID pid_t bpid = getpid();
M src/Toolbar.ccsrc/Toolbar.cc

@@ -725,7 +725,9 @@

void Toolbar::redrawWindowLabel(Bool redraw) { OpenboxWindow *foc = screen.getOpenbox().focusedWindow(); - if (foc != (OpenboxWindow *) 0) { + if (foc == (OpenboxWindow *) 0) { + XClearWindow(display, frame.window_label); + } else { if (redraw) XClearWindow(display, frame.window_label);

@@ -780,8 +782,6 @@ *foc->getTitle(), dlen);

else XDrawString(display, frame.window_label, style->w_text_gc, dx, (style->font->ascent + 1), *foc->getTitle(), dlen); - } else { - XClearWindow(display, frame.window_label); } }
M src/openbox.ccsrc/openbox.cc

@@ -186,6 +186,7 @@ resource.menu_file = resource.style_file = NULL;

resource.titlebar_layout = NULL; resource.auto_raise_delay.tv_sec = resource.auto_raise_delay.tv_usec = 0; + focused_screen = (BScreen *) 0; masked_window = NULL; masked = None;