CLIM mail archive

[Prev][Next][Index][Thread]

Delete-output-record/coordinate-sorted-set bug fixed?




>    Date: Mon, 28 Oct 91 06:33:04 PST
>   From: Curt Eggemeyer <curt@eraserhead.jpl.nasa.gov>
>
>    I'm converting my software into CLIM, but I only wish to use the presentation
>    aspects within the application frame construct. 
>[...]
>
>    My problem is this.  Whenever I invoke erase-output-record function on my own
>    presentations, output-records, etc. , I hit the debugger in the
>    delete-output-record-element in which CLIM thinks my presentations aren't
>    there when they are  (I looked into the top-level-coordinate-sorted-set).
>    My presentations are overlapping and I know CLIM is
>    doing some of its own massaging of the display.  My display pane has
>    incremental display off, but it seems CLIM is still massagging my presentation
>    stuff.  How do I turn it off?  I am maintaining my own pointers to what is
>    on the display and I wish to selectively erase and regenerate things on my
>    own.  Is there some application-frame pane flag I need to set to tell CLIM
>    that I will handle the output-record history?
>
>I think that you may have found a bug in the "coordinate-sorted"
>output record implementation.  A normal, scrolling, text-oriented CLIM
>window stores its output records sorted by their Y coordinates.  This
>makes for faster searching (e.g. during presentation highlighting),
>since the search can be bounded.  However, there is one exception to
>the "always sort by Y coordinates" rule, namely that overlapping
>output records are stored in the order in which they were drawn.  This
>is necessary in order to get replay to stack overlapping things
>correctly.  Unfortunately, this exception has been known to confuse
>parts of the code that always expect the records to be sorted by
>Y-coordinate.
>
>I can't find the bug just by looking at the code, and the simple cases
>of overlapping records that I tried seemed to work OK.  If you can
>supply a test case I will see what I can do.
>
>Alternatively, you can try to work around this bug by bypassing the
>coordinate-sorting feature.  To do this, evaluate the following form
>(where WIN is assumed to refer to your application pane):
>
>(setf (output-recording-stream-output-record win)
>      (make-instance 'clim::linear-output-record))
>
>[..]

Did this bug ever get fixed?  I'm having the same problem Curt
described above.  I tried Bill York's suggested fix (using the linear
output record code above), but I still get the same error.  Curt, what
did you do to get around this?  Ideas, anyone?  I need some resolution
to this, as I have a very important demo two days from now...

Thanks!

-- Rodney


Rodney Daughtrey           E-mail: rodney@hsvaic.boeing.com
Huntsville AI Center               {major site}!uw-beaver!bcsaic!hsvaic!rodney
Boeing Computer Services   Voice:  (205)-464-4931  Fax: (205)-464-4930



Main Index | Thread Index