On Tue, Mar 18, 2008 at 10:02:52PM +0100, Markus Hennecke wrote: [...] >>> You could manually enable it for your system in that file, but I don't know >>> what else could break. Another solution would be to handle SIGWINCH in >>> mcabber itself. I think I will take a look into that. >> >> How hard would it be to do that? >> It would be nice to have a somewhat cleaner approach to this problem >> than my patch does it ;-) > > Could you take a look at the attached patch file and try the port with the > patch applied? For me it will fix the resizing issues. All it does is to > act on the SIGWINCH, read the terminal size via ioctl and tell the ncurses > lib the new terminal size. Keycodes for KEY_RESIZE and ctrl-l are injected > so that the screen is redrawn. I don't think that this hack will make it > upstream, but it is something to start with.
I tried that patch and mcabber built and installed fine for me. The resizing works too, but only if I resize my terminal a little bit. But if I shrink and maximize it really fast many times, I get a segmentation fault. I rebuilt mcabber with "-O0 -g" again. Here's the backtrace: Core was generated by `mcabber'. Program terminated with signal 11, Segmentation fault. Reading symbols from /usr/local/lib/libglib-2.0.so.1400.3...done. Loaded symbols for /usr/local/lib/libglib-2.0.so.1400.3 Reading symbols from /usr/local/lib/libintl.so.4.0...done. Loaded symbols for /usr/local/lib/libintl.so.4.0 Reading symbols from /usr/local/lib/libiconv.so.4.0...done. Loaded symbols for /usr/local/lib/libiconv.so.4.0 Reading symbols from /usr/local/lib/libgpgme.so.17.0...done. Loaded symbols for /usr/local/lib/libgpgme.so.17.0 Reading symbols from /usr/local/lib/libgpg-error.so.2.0...done. Loaded symbols for /usr/local/lib/libgpg-error.so.2.0 Reading symbols from /usr/local/lib/libotr.so.3.1...done. Loaded symbols for /usr/local/lib/libotr.so.3.1 Reading symbols from /usr/lib/libssl.so.11.0...done. Loaded symbols for /usr/lib/libssl.so.11.0 Reading symbols from /usr/lib/libcrypto.so.13.0...done. Loaded symbols for /usr/lib/libcrypto.so.13.0 Reading symbols from /usr/lib/libpanel.so.3.0...done. Loaded symbols for /usr/lib/libpanel.so.3.0 Reading symbols from /usr/lib/libncurses.so.10.0...done. Loaded symbols for /usr/lib/libncurses.so.10.0 Reading symbols from /usr/lib/libc.so.43.0...done. Loaded symbols for /usr/lib/libc.so.43.0 Reading symbols from /usr/local/lib/libpcre.so.2.1...done. Loaded symbols for /usr/local/lib/libpcre.so.2.1 Reading symbols from /usr/local/lib/libgcrypt.so.13.0...done. Loaded symbols for /usr/local/lib/libgcrypt.so.13.0 Reading symbols from /usr/libexec/ld.so...done. Loaded symbols for /usr/libexec/ld.so #0 0x000000004ee325d4 in TransformLine (lineno=18) at /usr/src/lib/libcurses/tty/tty_update.c:1244 1244 memcpy(oldLine + firstChar, (gdb) bt #0 0x000000004ee325d4 in TransformLine (lineno=18) at /usr/src/lib/libcurses/tty/tty_update.c:1244 #1 0x000000004ee31c95 in doupdate () at /usr/src/lib/libcurses/tty/tty_update.c:746 #2 0x00000000004240ef in scr_DoUpdate () at screen.c:3681 #3 0x000000000040a19e in jb_main () at jabglue.c:278 #4 0x000000000040703b in main (argc=1, argv=0x7f7ffffe5320) at main.c:511 I'm running mcabber on amd64, in screen (problem happens without screen, too) in rxvt on OpenBSD 4.3-beta (GENERIC) #1346: Thu Feb 21 15:40:59 MST 2008 machine. Can you reproduce this? -- simon
