[vwnc] Problems with VW7.6nc & Autocomplete on Mac

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[vwnc] Problems with VW7.6nc & Autocomplete on Mac

Roger Whitney
I take a clean VW7.6 image and load Autocomplete. Open a workspace and  
try to use autocomplete to complete anything. I get an exception.  
Turns out that in the following method window windowManager returns nil.

EventSensor(WindowSensor)>>addDamage: aRectangle
        "Add aRectangle to the damage list.
        This is the method which converts invalidation notices into damage  
(contrast with #damage:)"

        skipNextDamage
                ifTrue: [skipNextDamage := false]
                ifFalse:
                        [(damageLock critical:
                                [self privateAddDamage: aRectangle]) ifTrue: [window windowManager  
noteEvent]]

Now this may not be Autocomplete's problem but it is a problem. Now if  
I change user interface look Autocomplete works. However save & exit  
then restart the image the problem returns. Any ideas on what is going  
on and how to fix it?
----
Roger Whitney              Department of Computer Science
[hidden email]        San Diego State University
http://www.eli.sdsu.edu/   San Diego, CA 92182-7720


_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc
Reply | Threaded
Open this post in threaded view
|

Re: [vwnc] Problems with VW7.6nc & Autocomplete on Mac

Steven Kelly
This might be similar to something I saw with native Windows file
dialogs: the VW window's windowManager can be nil, if the dialog was
started from an ApplicationModel that has been partly built but not
opened yet: the Window exists, but it is not yet in any WindowManager
(and may never be, e.g. if we use #allButOpen*). In any case, the
immediate correction is probably to change the last ifTrue: contents to:


window windowManager ifNotNil: [:wm | wm noteEvent]

Perhaps the longer term solution is more like initializing Window with
"windowManager := NullWindowManager new". That's what happens when we
unschedule a window. Admittedly last time I looked, NullWindowManager
didn't quite cover the full necessary interface of WindowManager, but
it's close.

The assumption in callers seems to be that windowManager will always
return something that obeys the WindowManager interface. I'd like to see
some consistency in whether windowManager is read directly as an
instance variable or via its accessor. If the accessor was used, we
could just change it to be:

windowManager
        ^windowManager ifNil: [NullWindowManager new].

Steve

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On
> Behalf Of Roger Whitney
> Sent: 17 September 2008 09:11
> To: VW NC
> Subject: [vwnc] Problems with VW7.6nc & Autocomplete on Mac
>
> I take a clean VW7.6 image and load Autocomplete. Open a workspace and
> try to use autocomplete to complete anything. I get an exception.
> Turns out that in the following method window windowManager returns
nil.

>
> EventSensor(WindowSensor)>>addDamage: aRectangle
> "Add aRectangle to the damage list.
> This is the method which converts invalidation notices into
> damage
> (contrast with #damage:)"
>
> skipNextDamage
> ifTrue: [skipNextDamage := false]
> ifFalse:
> [(damageLock critical:
> [self privateAddDamage: aRectangle])
ifTrue:

> [window windowManager
> noteEvent]]
>
> Now this may not be Autocomplete's problem but it is a problem. Now if
> I change user interface look Autocomplete works. However save & exit
> then restart the image the problem returns. Any ideas on what is going
> on and how to fix it?
> ----
> Roger Whitney              Department of Computer Science
> [hidden email]        San Diego State University
> http://www.eli.sdsu.edu/   San Diego, CA 92182-7720
>
>
> _______________________________________________
> vwnc mailing list
> [hidden email]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

_______________________________________________
vwnc mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/vwnc