TODO.gemsvnc -- things that need to be done for gemsvnc
firstname.lastname@example.org aka email@example.com Tue Dec 17 13:50:56 CST 2002
- Investigate all FIXME tags.
- Experiment with rfbDeferUpdateTime to determine its effect on
bandwidth requirements. I think this value is used to keep from
sending out a marked rectangle too quickly, before other pixels have a
chance to change near it?
- Add http server support so web browser based java viewer can be used
- The malloc() in construct_slots() in ilace.c has a potentially wrong
size due to a type error. It works as long as the size of an int and
an int* are the same.
- In rectangle.c remove_named_rectangle_from_list() the bounding box must be
reset to IMPOSSIBLE before calling update_bounding_box().
- In commands.c the whole idea of EOF_found is probably ill-conceived.
- In cmd_sockets.c poll_socket_read() the expression "socket_handle +
1" in the arguments to select() should be just "2". This only works
now because the socket_handle is always 1 = stdin.
- In gemsvnc.c the bits per pixel is hardcoded to 32, and tagged by a
FIXME; it needs to be fixed to work with 8, 16, and 24 bits also.
- The mouse cursor has jitter problems when crossing between block,
guard, and normal regions. This seems to be due to mis-handling of
the hot-spot offsets. See send_changed_tiles_to_viewer() and
- In probe_horizontal() and probe_vertical(), the if
(test_dirty_bit()) is followed by a break. This is wrong. It causes
the entire remainder of the row to be skipped instead of just the rest
of the current tile.
* FIXED! -- changed "break" to "continue".
- Verify that copy_tile() handles the mouse_clobber flag properly if
it is set and the mouse has also moved since the last pass thru the
- In copy_tile() the tests using the block and guard clobber flags are
no longer needed.
- Determine if atoi() is still broken, or if we can eliminate the
atoi() code in gemsvnc.c and just use the system provided code
- In main() the useSHM test needs an "if" after useSHM = XShmQuery().
- In rectangle.c reposition_rectangle_on_list() we should do a test to
see if the bounding box needs to be updated. See how it is done in