Hi Micah,
I know that textbox is a new widget and maybe this one isn't already in a full stable 
state.
I tried to use it (for its wrapping property) and note a problem with position 
(re-)calculation that you can reproduce with the attached files.


# gdb ./pgserver
(gdb) run -m 500x300x8

with the simple.txt attached file the following occure:
* display the file -> ok
* the scrollbar doesn't appear (even if text > widget height)
* playing with the window X dimension to make the scroll appear
  -> crash with:

--8<--
Program received signal SIGSEGV, Segmentation fault.
0x807568a in linear8_charblit (dest=0x808cda4, 
    chardat=0x807d2bf "�\200\200\020\020   
@@@\200\200\200x\204\204\204\204\204\204\204\204x �        x\204\204\b\020 
@\200\200�x\204\204\0048\004\004\204\204x\f\024$$D\204�\004\004\004�\200\200\200�\004\004\204\204xx\204\200\200��\204\204\204x�\004\b\b\020\020
  @@x\204\204\204x\204\204\204\204xx\204\204\204\204|\004\204\204x\200\200", 
dest_x=79, dest_y=307, w=2, h=4, lines=0, angle=0, c=0, 
    clip=0xbffff540, lgop=1) at linear8.c:344
344             if (ch&0x80) *destline = c; destline++; 
--8<--

But the window is 284x300 -> the problem seems to be due to a bad position calculation
* the crash occure stochastically (not necessary at the first resizing) but is always 
(what I saw) due to a bad Y coordinate

The same occure with
(gdb) run 500x300x16

--8<--
Program received signal SIGSEGV, Segmentation fault.
0x80761b9 in linear16_pixel (dest=0x808cda4, x=67, y=523, c=0, lgop=1)
    at linear16.c:72
72         PIXEL(x,y) = c;
--8<--

And sometimes when loading an html file the program crash already when loading the 
file.


Hope this is useful,
-philippe

Attachment: test.c
Description: Binary data

This is a very simple text.

Compiling a program made of one source file is easy. Compiling one made
of few sources is slightly annoying, but may be automated via a simple shell
script. Anything larger then that would start to get on your nerves. This is
where makefiles are helpful.
A makefile is a collection of instructions that should be used to compile 
your program.
Once you modify some source files, and type the command "make" (or "gmake" if
using GNU's make), your program will be recompiled using as few
compilation commands as possible.
Only the files you modified and those dependent upon them will be recompiled.
Of-course, this is not done via usage of magic. You need to supply the rules
for compiling various files and file types, and the list of dependencies
between files (if file "A" was changed, then files "B", "C" and "D" also
need to be re-compiled), but that only has to be done once.

Reply via email to