Re: problem with rf

"Jerzy Kaczorowski" <[email protected]> Tue, 15 Jun 2004 21:05:50 -0000
Newsgroups gmane.comp.version-control.cvs.gui.devel
Message-ID <[email protected]>
Richard,

> But this results in a new button pressed event for OnViewConflict()
> and all the others, which in turn change the state not being
> "kFilterModified" any more. So we get a perfect recursion!

Perhaps disabling the other buttons while toggling them would help - the
disable state could be used to prevent recursion - the handler can check it
and ignore the event...?

Best Regards,
Jerzy

----- Original Message ----- 
From: Richard Wirth
To: [email protected]
Sent: Tuesday, June 15, 2004 13:52
Subject: [cvsgui-dev] problem with rf


Hello Folks,

I discoverd a problem in the rf.
Toggled UI objects (stateful) are handled the same way stateless
objects are. This results in incosistencies between the internal
state of gcvs and the state shown at the user interface.
This hits UCvsFrame.cpp if one clicks OnViewModified(). In this case
"kFilterChanged, kFilterAdded, kFilterRemoved, kFilterConflicts" are
changed. Afterwards an UpdateUI() finds the internal state of these
modied and tries to set the displayed stata at UI site respective. But
this results in a new button pressed event for OnViewConflict() and
all the others, which in turn change the state not being
"kFilterModified" any more. So we get a perfect recursion!

So what to do?

It is not possible to prevent gtk from emiting a ButtonPressedEvent
when the state of a ToggleButton is changed programaticaly. But in
uwidget::gtkclicked() I can determine the type of clicked button. And
it ist possible to get the state of the ToggleButton.
So it would be possible to define a new EV_CMD_TOGGLED and pass the
state along with this.
But that requires a lot of changes throu the whole code.
Has anybody any better solution???

-- 
Best regards,
Richard                          mailto:[email protected]


Yahoo! Groups Sponsor
ADVERTISEMENT






Yahoo! Groups Links

To visit your group on the web, go to:
http://groups.yahoo.com/group/cvsgui-dev/

To unsubscribe from this group, send an email to:
[email protected]

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/NhFolB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
     http://groups.yahoo.com/group/cvsgui-dev/

<*> To unsubscribe from this group, send an email to:
     [email protected]

<*> Your use of Yahoo! Groups is subject to:
     http://docs.yahoo.com/info/terms/