[sword-devel] SWORD 1.7.0RC1

Troy A. Griffitts scribe at crosswire.org
Wed Jul 31 06:07:34 MST 2013


OK,

So, latest patch makes your test case valgrind clean.  Thank you for the 
test case!

diatheke -b KJV  -f HTMLREF -k Ps 22.3 2

This patch fixes SWModule::operator const char *() but also deprecates it.
Since we deprecated returning a const char * from renderText(), we 
shouldn't allow an undeprecated backdoor through the SWModule::operator 
const char *()
The undeprecated replacement is SWModule::operator SWBuf(), but actually 
simply calling renderText instead of relying on these cast operators is 
probably clearer in client code.

Thanks for the report and pinpointing the problem!

Troy


On 07/31/2013 01:54 PM, Mark Trompell wrote:
> but your fix doesn't fix it...
>
> On Wed, Jul 31, 2013 at 1:51 PM, Troy A. Griffitts <scribe at crosswire.org> wrote:
>> Thanks Mark for the report.  I've applied a different fix in diatheke which
>> had an unsafe call to retain a pointer to temporary object.  It just
>> 'happened' to work previous.  This was the reason for this signature change
>> in the method-- to better advertise to developers that they shouldn't hold
>> on to these pointers beyond the stack of the initial call.  It's slightly
>> more expensive, but safer and clearer and on a method (renderText) which
>> shouldn't need the extra optimization.
>>
>> Thanks again for the report; you led me right to the problem.
>>
>> Troy
>>
>>
>> On 07/31/2013 01:26 PM, Mark Trompell wrote:
>>
>> attached patch makes diatheke somewhat work again.
>> I wonder why the cast doesn't work.
>> I tried this too, but doesn't help:
>>
>> diff --git a/include/swmodule.h b/include/swmodule.h
>> index 16fb301..04dde03 100644
>> --- a/include/swmodule.h
>> +++ b/include/swmodule.h
>> @@ -47,7 +47,7 @@ class SWFilter;
>>   #define SEARCHFLAG_MATCHWHOLEENTRY 4096
>>
>>   #define SWMODULE_OPERATORS \
>> -       operator const char *() { return renderText(); } \
>> +       operator const char *() { return renderText().c_str(); } \
>>          operator SWKey &() { return *getKey(); } \
>>          operator SWKey *() { return getKey(); } \
>>          SWModule &operator <<(const char *inbuf) { setEntry(inbuf);
>> return *this; } \
>>
>>
>> On Wed, Jul 31, 2013 at 10:18 AM, Mark Trompell <mark at foresightlinux.org>
>> wrote:
>>
>> I did some bisecting that shows r2921 is the first commit that breaks
>> diatheke, so I think the revert of the qt support work wasn't complete
>>
>> On Wed, Jul 31, 2013 at 9:38 AM, Mark Trompell <mark at foresightlinux.org>
>> wrote:
>>
>> Ok, that's not because of r2922, but output of diatheke is crippled.
>>
>> On Wed, Jul 31, 2013 at 9:21 AM, Mark Trompell <mark at foresightlinux.org>
>> wrote:
>>
>> diatheke is broken probably beacuse of r2922. I try to revert to confirm...
>> Btw, this change forces changes in xiphos and probably every other frontend.
>>
>> On Wed, Jul 31, 2013 at 4:24 AM, Troy A. Griffitts <scribe at crosswire.org>
>> wrote:
>>
>> I understand apologies for the unacceptable delay will mean nothing.
>>
>> SWORD 1.7.0RC1 is available from the following link:
>>
>> http://crosswire.org/sword/alpha/alpha/sword-1.7.0RC1.tar.gz
>>
>> Please try your projects with the RC.
>>
>> (and please update your ChangeLog entries for the official package)
>>
>> May God be pleased by all our hard work and mercifully use this for His
>> Kingdom.  Thank you for participating in this long awaited release.
>>
>> Troy
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>>
>> --
>> Mark Trompell
>>
>> Foresight Linux Xfce Edition
>> Cause your desktop should be freaking cool
>> (and Xfce)
>>
>>
>> --
>> Mark Trompell
>>
>> Foresight Linux Xfce Edition
>> Cause your desktop should be freaking cool
>> (and Xfce)
>>
>>
>> --
>> Mark Trompell
>>
>> Foresight Linux Xfce Edition
>> Cause your desktop should be freaking cool
>> (and Xfce)
>>
>>
>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>>
>>
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel at crosswire.org
>> http://www.crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
>




More information about the sword-devel mailing list