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
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.
