Video redraw problem -FreeBSD/X-Windows

Bob Kot bobkat at
Wed Mar 15 21:50:26 UTC 2000

I'm a new squeaker and a recent subscriber to this list, but
I've hacked a considerable amount of DigiTalk's SmallTalk V/PM
under OS/2.

I am using the KDE desktop environment for a window manager.
The problem was also observed running squeak under the twm
window manager.

The output of my SqueakVM -version is

2.4 #1 XShm Tue Mar 14 20:13:02 MST 2000 gcc
FreeBSD atlas.tic.toc 3.3-RELEASE FreeBSD 3.3-RELEASE #1: 
Fri Jan  7 15:26:03 MST 2000    
bobkat at atlas.tic.toc:/usr/src/sys/compile/KDDB  i386

>From which you will note that I have re-compiled the VM.
The only modifications I made were in sqConfig.h to which
I changed a line in the FreeBSD section to

#   define HAS_OSS      "/dev/dsp"

to enable device driver support in squeak into the device
driver I wrote for my Turtle Beach Monterey soundcard under
FreeBSD. I don't think that should have any impact on the 
problem I am observing. In fact prior to re-compiling the
VM I installed the precompiled one from the FreeBSD
Squeak2.4 port and the same behavior was observed.

I open a Workspace and move the mouse cursor over the
Workspace pane. There is a subscript ^ character indicating
the current text cursor position. I type a Q for instance.
The Q appears and the ^ indicator disappears 90% of the time.
Nudging the mouse cursor causes an update event and the ^
indicator reappears after the Q where expected. Maybe 1-in-10
times the text cursor is correctly positioned.

Similarly positioning the mouse cursor over a word in the
Workspace and double clicking should highlight that word
this is again delayed until something causes another refresh
event like moving the mouse cursor. Consistent with all of the
above thumbnails on scrollbars sometimes disappear until 
another action causes a video redraw.

This behavior is annoying to say the least and makes any
programming/editing/navigating painful.

I looked in class InputSensor but things quickly tend to
primitives. I have not pursued the `C' source code yet.

This smacks of timimg/interrupts or some X-Windows event being
missed. Anyone seen this before? Any suggestions, solutions or
pointers to suspect code or things to try/tweak would be

1 3 0 1 3

More information about the Squeak-dev mailing list