[Qgis-developer] OSGEO4W vs. Mac OS X Qt version (or ~34 plugins
slightly broken)
William Kyngesburye
woklist at kyngchaos.com
Thu May 10 07:26:15 PDT 2012
On May 9, 2012, at 12:08 PM, Larry Shaffer wrote:
> During a recent audit of almost every PyQGIS plugin (casually studying repetitive design patterns) and helping some users on gis.stackexhange.com [0] I have come across an issue that may affect over 30 plugins (for now, only on Mac).
>
> From what I can gather, William Kyngesburye's Mac builds (and Unix/Linux, too?) consistently use a current, stable version of Qt, now at 4.8, while the OSGEO4W package is at 4.4 [1]. This hasn't been an issue since, I believe (and assume), the bundled Qt in Mac builds included Qt3 support. The most recent 1.7.4 Mac version appears to have a bundled Qt with no Qt3 support (is this correct?).
>
I haven't included Qt3Support since QGIS 1.2, when the last of the Qt3 usage was removed (I think GRASS plugin was the last holdout).
> This has caused many PyQGIS plugins to fail to launch on Mac, due to their use of a Qt3-only QAction signal of activated() in a plugin's initGui() method. Basically, the plugin does not launch (i.e. does nothing), with no error. However, for Windows users, the plugin launches fine, causing problems when trying to offer cross-platform support for plugin issues.
>
> Can someone else verify these findings?
>
> I am slightly surprised Qt3 is still supported, and think dropping its support sounds like a good idea, especially for QGIS version 1.8 or >, but certainly don't know all the details on versioning for QGIS distributions. I understand this may cause problems with the OSGEO4W package. (btw: Why is it still on Qt 4.4?)
>
I would assume that Qt3 usage in external plugins would require support in PyQt, but PyQt has never compiled a PyQt3 module for me, and I'm not sure if it can, or how.
> Here are the plugins I have found that use the deprecated activated() signal, including two core C++ [2]
This is odd because those plugins then should not even compile if Qt3 is missing. And spatialquery works for me without Qt3Support. (GRASS works, but has its own problems)
> and a ZIP archive of the particular files that I found to contain that signal [3]. Without a complete examination of each plugin, I am not entirely certain all of the signals are of QAction. I tried to include only those that appear to be. (Note: there may be more uses of Qt3 deprecated methods, etc.)
>
> Please correct me if I am off on my assessment of this situation, or if I am late to the discussion.
>
> [0] http://gis.stackexchange.com/a/22953/6725 , http://gis.stackexchange.com/a/24860/6725
> [1] http://trac.osgeo.org/osgeo4w/wiki/pkg-qt4-libs
> [2] http://dl.dropbox.com/u/4058089/qgis/plugins_contain-qt3activated.txt
> [3] http://dl.dropbox.com/u/4058089/qgis/plugins_contain-qt3activated.zip
>
> Regards,
>
> Larry Shaffer
> Dakota Cartography
> Black Hills, South Dakota
> _______________________________________________
> Qgis-developer mailing list
> Qgis-developer at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/qgis-developer
-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/
"History is an illusion caused by the passage of time, and time is an illusion caused by the passage of history."
- Hitchhiker's Guide to the Galaxy
More information about the Qgis-developer
mailing list