[Sugar-devel] Fwd: Fw: Re: #3013 UNSP: toolbar error

Kevin Gordon kgordon420 at gmail.com
Fri Aug 5 10:29:55 EDT 2011


Mr. Simmons:

If you want an XO-1 for testing, shoot me a message and I'll ship you a
machine from my over-crowded test-bed.  It's the least I can do. :-)

KG

On Fri, Aug 5, 2011 at 10:22 AM, James Simmons <nicestep at gmail.com> wrote:

> James,
>
> I'm willing to try and work around this for Sugar Commander and Get
> Internet Archive Books, but I'll need a way to test my work.  The only
> things I've ever used for testing are the installed Sugar for my
> distribution (Fedora 12) and the very latest sugar-jhbuild.  It sounds like
> the latest sugar doesn't have this issue.  I don't have a powerful enough
> computer to run emulation.  Also, I don't know how to go about listening for
> the clicked signal on the Stop button.  (I don't know the name of the
> component.  I've listened to any number of other components).  Also, how do
> I prevent the code that is normally listening to that button from being
> executed?
>
> James Simmons
>
>
> On Thu, Aug 4, 2011 at 6:49 PM, James Cameron <quozl at laptop.org> wrote:
>
>> On Thu, Aug 04, 2011 at 09:50:13AM -0500, James Simmons wrote:
>> > We have a stack trace.  See below.
>>
>> I've found the cause of the regresssion.  It did not affect 0.84.12, but
>> does affect current versions of 0.84.
>>
>> It was a patch 0ba47d0 for #1948.
>>
>> In ActivityToolbar.__init__() the references to self.title are protected
>> by a check for activity.metadata.
>>
>> In __stop_clicked_cb(), the newly added references to self.title are not
>> protected in the same way.
>>
>> So any activity that uses your documented and published method for
>> avoiding the creation of a journal entry ... which is also the supported
>> method in Sugar ... will fail in the way you describe.
>>
>> For compatibility with Sugar 0.84.13 and later, the method will need a
>> workaround.  I suggest connecting a replacement __stop_clicked_cb
>> function to the 'clicked' signal of the stop button, and in place of the
>> current toolkit code, just call activity.close().
>>
>> The fix to Sugar Toolkit seems straightforward:
>>
>> diff --git a/src/sugar/activity/activity.py
>> b/src/sugar/activity/activity.py
>> index 6f204b3..09450f7 100644
>> --- a/src/sugar/activity/activity.py
>> +++ b/src/sugar/activity/activity.py
>> @@ -178,9 +178,10 @@ class ActivityToolbar(gtk.Toolbar):
>>         self._activity.copy()
>>
>>     def __stop_clicked_cb(self, button):
>> -        if self._focus_out_hid is not None:
>> -            self.title.disconnect(self._focus_out_hid)
>> -        self._update_title(self.title.get_text())
>> +        if self._activity.metadata:
>> +            if self._focus_out_hid is not None:
>> +                self.title.disconnect(self._focus_out_hid)
>> +            self._update_title(self.title.get_text())
>>         self._activity.close()
>>
>>     def __jobject_updated_cb(self, jobject):
>>
>> ... but that won't fix the deployed laptops.
>>
>> --
>> James Cameron
>> http://quozl.linux.org.au/
>>
>
>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20110805/c28a6af0/attachment.html>


More information about the Sugar-devel mailing list