fix segfaut from uninitialized focused_screen pointer
This commit is contained in:
parent
abfaee7368
commit
d6c02ad70c
5 changed files with 11 additions and 6 deletions
|
@ -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
|
||||
|
|
|
@ -519,7 +519,6 @@ void BaseDisplay::ungrab(void) {
|
|||
|
||||
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::addTimer(BTimer *timer) {
|
|||
|
||||
|
||||
void BaseDisplay::removeTimer(BTimer *timer) {
|
||||
printf("REMOVING TIMER\n");
|
||||
timerList.remove(timer);
|
||||
}
|
||||
|
||||
|
|
|
@ -225,6 +225,7 @@ BScreen::BScreen(Openbox &ob, int scrn, Resource &conf) : ScreenInfo(ob, scrn),
|
|||
slit = NULL;
|
||||
#endif // SLIT
|
||||
toolbar = NULL;
|
||||
current_workspace = (Workspace *) 0;
|
||||
|
||||
#ifdef HAVE_GETPID
|
||||
pid_t bpid = getpid();
|
||||
|
|
|
@ -725,7 +725,9 @@ void Toolbar::checkClock(Bool redraw, Bool date) {
|
|||
|
||||
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 @@ void Toolbar::redrawWindowLabel(Bool redraw) {
|
|||
else
|
||||
XDrawString(display, frame.window_label, style->w_text_gc, dx,
|
||||
(style->font->ascent + 1), *foc->getTitle(), dlen);
|
||||
} else {
|
||||
XClearWindow(display, frame.window_label);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -186,6 +186,7 @@ Openbox::Openbox(int m_argc, char **m_argv, char *dpy_name, char *rc)
|
|||
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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue