comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: TV bug (memory?) under Solaris 2.4
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: TV bug (memory?) under Solaris 2.4 [message #5436 is a reply to message #5423] Tue, 19 December 1995 00:00 Go to previous messageGo to previous message
David S. Foster/Admin is currently offline  David S. Foster/Admin
Messages: 14
Registered: May 1995
Junior Member
offenbrg@fondue.gsfc.nasa.gov (Joel D. Offenberg) wrote:
>
> Hi, all
>
> We have been encountering a bug under in IDL4.0.1 under Solaris 2.4
> when drawing images to the screen (i.e. doing a "TV" operation). What
> happens is this: IDL starts to draw the image, then draws a little garbage
> and then redraws a section of the image, then locks up and leaves the rest
> of the window blank. IDL is frozen at this point---CTRL-C does not work,
> and the only way out is to CTRL-Z and kill the session.
>
> This problem has appeared on Sun machines running Solaris 2.4, including
> Sparc2, Sparc10 and Sparc20 machines, all with between 32 and 48MB of RAM.
> Unfortunately, we upgraded from IDL 3.6 to 4.0 at almost the same time as we
> upgraded from SunOS 4.1 to Solaris2.4, so I don't know if this bug existed
> under IDL 3.6. I know we never saw it on IDL 3.6 under SunOS 4.1 |

Just FYI, we use Solaris 2.3 and IDL 4.0.1 and haven't had this
problem, so perhaps the OS is the problem. I've been told that
IDL 4.0.1 works fine under Solaris 2.5, which is supposed to be
less buggy. (Don't administrators LOVE doing OS upgrades?)

Also, we HAVE run into a bug (verified by IDL tech support as such)
in TVRD(), in which portions of the window are corrupted when its
contents are read into an array. This can happen when portions of
the window are not visible (iconified, obscured by another window,
or even if it is scrollable!), and is not corrected by changing
the behavior of BACKING_STORE. For anyone that cares, and is
experiencing this same problem (I know it occurs on other versions
of Solaris), here is a work-around:

FUNCTION safe_tvrd, draw_wid, xsize, ysize

on_error,2

old_window = !d.window
window, xsize=xsize, ysize=ysize, /free, /pixmap
widget_control, draw_wid, get_value=window
device, copy=[0,0,xsize, ysize, 0, 0, window] ; Copy into pixmap

image = tvrd() ; Read pixmap into array
wdelete, !d.window
if (old_window ne -1) then $
wset, old_window

return, image
END

You could modify this to work on specified portions of the window.

Dave Foster
foster@bial6.ucsd.edu

"People don't grow up, they just use bigger words."
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Q: Getting the position of the last character printed by xyouts
Next Topic: Re: Can't find rpcidl.a library

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Sat Oct 11 03:21:47 PDT 2025

Total time taken to generate the page: 0.68264 seconds