Blackbox (0.70 / 2004-09-16, from anoncvs) crashes with following
message when I try to iconify OpenOffice.org 1.1.2 document window:
assertion "hasWindowFunction(WindowFunctionIconify)" failed: file "Window.cc", line 
1722

I think the crash happens because OpenOffice has little (transient)
helper window, which doesn't want to be iconified. And when I close
the main document window Window::iconify function wants to close all
transient child windows too.

But because this one helper window doesn't have iconify functionality
allowed the assertion is triggered and Blackbox crashes.

Backtrace:
(gdb) bt
#0  0x0b8e3369 in kill () from /usr/lib/libc.so.34.1
#1  0x0b910eb5 in abort () from /usr/lib/libc.so.34.1
#2  0x0b8c96e7 in __assert () from /usr/lib/libc.so.34.1
#3  0x1c051399 in BlackboxWindow::iconify() (this=0x3c04b000) at Window.cc:1730
#4  0x1c051342 in BlackboxWindow::iconify() (this=0x3c04b400)
    at /usr/local/include/c++/3.3.2/bits/stl_list.h:167
#5  0x1c054ede in BlackboxWindow::buttonReleaseEvent(XButtonEvent const*) (
    this=0x3c04b400, event=0xcfbf3330) at Window.cc:2963
#6  0x1c06347b in bt::Application::process_event(_XEvent*) (this=0xcfbf3418,
    event=0xcfbf3330) at Application.cc:334
#7  0x1c05ef69 in Blackbox::process_event(_XEvent*) (this=0xcfbf3418,
    e=0xcfbf3330) at blackbox.cc:338
#8  0x1c06325b in bt::Application::run() (this=0xcfbf3418)
    at Application.cc:227
#9  0x1c060f80 in main (argc=1, argv=0xcfbf35e0) at main.cc:147
(gdb)

Simple work around:
Change assert from:
assert(hasWindowFunction(WindowFunctionIconify));
to:
assert(hasWindowFunction(WindowFunctionIconify) || isTransient());

xprop for the main and child windows (if needed):
http://gurb.ton.tut.fi/~tkoskine/blackbox/oo.main.window.txt
http://gurb.ton.tut.fi/~tkoskine/blackbox/oo.child.window.txt

And I am running Blackbox on OpenBSD 3.6-beta. OpenOffice 1.1.2
runs remotely via X-protocol from FreeBSD 4.10 (on the same subnet).
Blackbox is compiled using GCC 3.3.2.

I don't know is my way a good way to solve the problem or is
it better to add WindowFunctionIconify flag to every transient
window or should one fix OpenOffice.org.

-- 
Tero Koskinen - http://iki.fi/tero.koskinen/

-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
List archives:  http://asgardsrealm.net/lurker/splash/index.html
Trouble? Contact [EMAIL PROTECTED]

Reply via email to