[bt-devel] Problem with Mag window not working is fixed.
Gary Holmlund
gary.holmlund at gmail.com
Mon Nov 14 08:24:27 MST 2011
I did a little investigation into using Qt functions instead of
javascript. I could not find any way to associate mouse coordinates with
a DOM element. Also, the scroll function requires Qt 4.7. So I did not
look further at it.
Gary
On 11/14/2011 01:29 AM, Martin Gruner wrote:
> Hi Jaak,
>
> 10.04 has got Qt 4.6.2.
> 12.04 will supersede it soon and be supported for a longer time.
>
> Regards, mg
>
> Am 14.11.11 10:00, schrieb Jaak Ristioja:
>> Hi!
>>
>> Yes, we should release at least one other 2.8.#. I'm not sure whether
>> changing the requirement from Qt 4.5 to 4.6 would be a good idea for
>> 2.9.# right now. For later versions, it is no problem. What version of
>> Qt does Ubuntu 10.04 (LTS) have?
>>
>> Blessings,
>> Jaak
>>
>> On 14.11.2011 09:40, Martin Gruner wrote:
>> > Hi Gary,
>>
>> > very cool!
>> > AFAIR, we currently require Qt 4.5, where such a "proxy" class is
>> needed
>> > to create a bridge between C++ and JS. With Qt 4.6, this is not
>> required
>> > any more. So if we decide to up the version, the code could be changed
>> > and simplified.
>>
>> > Regards, mg
>>
>> > Am 14.11.11 06:17, schrieb Gary Holmlund:
>> >>
>> >> I fixed the problem with the Mag window not working with newer
>> >> versions of Qt (Qt 4.7.4 + QtWebKit 2.2 or later). The current version
>> >> shipping with Ubuntu 11.10 and Fedora 16 is broken because of this
>> >> issue. I know that we will soon release 2.9, but Ubuntu has been
>> >> reluctant to upgrade to feature releases. I am wondering if we should
>> >> create a 2.8.3 for this fix.
>> >>
>> >>
>> >> Bug details
>> >>
>> >> Each BibleTime window uses Qt WebKit classes to display the page. We
>> >> use javascript on the page to associate the mouse coordinates with DOM
>> >> elements and display the corresponding entry in the Mag window. The
>> >> javascript also handles drag/drop and a few other things.
>> >>
>> >> There is a c++ class (BtHtmlJsObject) that is associated with the
>> >> javascript on a page in BibleTime. This class allows c++ to call
>> >> javascript and javascript to call c++. With the latest versions of Qt
>> >> both the class instance and the javascript have a "security origin".
>> >> The first time the class instance is associated with the javascript
>> >> everything is ok. But when the next page with javascript is loaded
>> >> into the window and associated with the same class instance, they have
>> >> different security origins. WebKit is checking this and throwing an
>> >> cross site scripting error. The javascript does not run correctly.
>> >>
>> >> It took a lot of debugging down into Qt to figure this out. Once I
>> >> knew the issue I suspected I could fix it by associating a new class
>> >> instance with the javascript each time the page is reloaded. This
>> >> fixed the problem.
>> >>
>> >> Gary
> >
> > _______________________________________________
> > bt-devel mailing list
> > bt-devel at crosswire.org
> > http://www.crosswire.org/mailman/listinfo/bt-devel
> >
>
>
>
> _______________________________________________
> bt-devel mailing list
> bt-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/bt-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.crosswire.org/pipermail/bt-devel/attachments/20111114/5c7e9db3/attachment-0001.html>
More information about the bt-devel
mailing list