Path: utzoo!attcan!uunet!lll-winken!lll-tis!helios.ee.lbl.gov!pasteur!agate!garnet.berkeley.edu!csvsj From: csvsj@garnet.berkeley.edu (Steve Jacobson) Newsgroups: comp.windows.x Subject: Xaw:Label.c Message-ID: <15770@agate.BERKELEY.EDU> Date: 20 Oct 88 20:36:36 GMT Sender: usenet@agate.BERKELEY.EDU Reply-To: csvsj@garnet.berkeley.edu (Steve Jacobson) Organization: University of California, Berkeley Lines: 33 VERSION: X11 release 2 CLIENT MACHINE: Sun 3/50 CLIENT OPERATING SYSTEM: Sun OS 3.2 DISPLAY: Sun monochrome SYNOPSIS: Label widget doesn't update when sensitivity changes until subsequent action causes redisplay. DESCRIPTION: The Label.c SetValues() function only returns a non-zero value (indicating redisplay required) when the widget is resized. If a SetValues() call merely changes the sensitivity, the widget is not redisplayed reflecting the sensitivity change. REPEAT-BY: Look at the code or write a simple experiment where some action changes a Label widget's sensitivity after it is realized. FIX: Here is the diff between the original SetValues() return statement and the fixed one: 385c385 < return( was_resized ); --- > return( was_resized || XtIsSensitive(curlw) != XtIsSensitive(newlw));