Dolphin 4 bug

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

Dolphin 4 bug

Steve Zara
If I open up the ViewComposer, select File/New Dialog View, then
select the ReferenceView containing the OK and Cancel buttons, then
select delete, I get an 'illegal operation' and the Dolphin system
crashes.

This seems to be a timing problem, as if  I try to debug the
ViewComposer code, it works without a problem.  However, I
have managed to narrow down where things are going wrong:

ViewComposer>>removeView:

removeView: aView
        "Removes aView from the receiver."

        (self selections includes: aView) ifTrue:
                [self cancelSelectionFor: aView.
                self primarySelection isNil ifTrue:
                        [aView ~~ self composingView
                                ifTrue: [self selection: aView parentView]]].
        aView == self composingView ifTrue: [
                composingView:= nil.
                resourceIdentifier := nil.
                self isModified: false.
                self updateCaption ]
        viewHierarchy model remove: aView.
****** next statement causes illegal instruction *****
        aView parentView removeSubView: aView.
        self forceLayoutFor: aView parentView.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 4 bug

Frank Sergeant
"A SERFer" <[hidden email]> wrote in message news:[hidden email]...
> If I open up the ViewComposer, select File/New Dialog View, then
> select the ReferenceView containing the OK and Cancel buttons, then
> select delete, I get an 'illegal operation' and the Dolphin system
> crashes.

I don't know if this is related or if it has been mentioned before, but if I
open any dialog view in the view composer (by using the context menu in the
CHB on any dialog presenter) and then press Esc, I get the message

        Invalid arg 2: Cannot coerce a DeafObject to handle



-- Frank
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 4 bug

Andy Bower
In reply to this post by Steve Zara
Steve,

Yes, this does appear to be a problem under Win9x (under Win2000 it's fine).
I suspect it's got something to do with the fact that Windows doesn't really
like to have a dialog without a button in it. If you add another button
before performing the delete then it survives ok.

Thanks for the report.. we'll take a look to see if there's a way around
this.

Best regards,

Andy Bower
Dolphin Support
http://www.object-arts.com

---
Visit the Dolphin Smalltalk Wiki Web
http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm
---

"A SERFer" <[hidden email]> wrote in message news:[hidden email]...

> If I open up the ViewComposer, select File/New Dialog View, then
> select the ReferenceView containing the OK and Cancel buttons, then
> select delete, I get an 'illegal operation' and the Dolphin system
> crashes.
>
> This seems to be a timing problem, as if  I try to debug the
> ViewComposer code, it works without a problem.  However, I
> have managed to narrow down where things are going wrong:
>
> ViewComposer>>removeView:
>
> removeView: aView
> "Removes aView from the receiver."
>
> (self selections includes: aView) ifTrue:
> [self cancelSelectionFor: aView.
> self primarySelection isNil ifTrue:
> [aView ~~ self composingView
> ifTrue: [self selection: aView parentView]]].
> aView == self composingView ifTrue: [
> composingView:= nil.
> resourceIdentifier := nil.
> self isModified: false.
> self updateCaption ]
> viewHierarchy model remove: aView.
> ****** next statement causes illegal instruction *****
> aView parentView removeSubView: aView.
> self forceLayoutFor: aView parentView.


Reply | Threaded
Open this post in threaded view
|

Re: Dolphin 4 bug

Steve Zara
"Andy Bower" <[hidden email]> writes:

>Steve,
>
>Yes, this does appear to be a problem under Win9x (under Win2000 it's fine).
>I suspect it's got something to do with the fact that Windows doesn't really
>like to have a dialog without a button in it. If you add another button
>before performing the delete then it survives ok.

Are you sure?  I came across this bug as I usually want something else
rather than just OK and cancel.  My work-around was to edit the
Dialog.default view resource so I get a dialog *without* any buttons
by default.  This works fine!

Steve

>
>Thanks for the report.. we'll take a look to see if there's a way around
>this.
>
>Best regards,
>
>Andy Bower
>Dolphin Support
>http://www.object-arts.com
>
>---
>Visit the Dolphin Smalltalk Wiki Web
>http://www.object-arts.com/wiki/html/Dolphin/FrontPage.htm
>---
>
>"A SERFer" <[hidden email]> wrote in message news:[hidden email]...
>> If I open up the ViewComposer, select File/New Dialog View, then
>> select the ReferenceView containing the OK and Cancel buttons, then
>> select delete, I get an 'illegal operation' and the Dolphin system
>> crashes.
>>
>> This seems to be a timing problem, as if  I try to debug the
>> ViewComposer code, it works without a problem.  However, I
>> have managed to narrow down where things are going wrong:
>>
>> ViewComposer>>removeView:
>>
>> removeView: aView
>> "Removes aView from the receiver."
>>
>> (self selections includes: aView) ifTrue:
>> [self cancelSelectionFor: aView.
>> self primarySelection isNil ifTrue:
>> [aView ~~ self composingView
>> ifTrue: [self selection: aView parentView]]].
>> aView == self composingView ifTrue: [
>> composingView:= nil.
>> resourceIdentifier := nil.
>> self isModified: false.
>> self updateCaption ]
>> viewHierarchy model remove: aView.
>> ****** next statement causes illegal instruction *****
>> aView parentView removeSubView: aView.
>> self forceLayoutFor: aView parentView.
>
>