{"push_id":999085402,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"71b51d74f34ef30d7aed71272fc762187339d671","before":"c963ce7aa708129fe8d36aada2983c7dfbea3240","commits":[{"sha":"2fd5a59886f7720a4ba8321bb816cf94053fb153","author":{"email":"25e791d8a36b81b637a317ac1df89288475888fe@kde.org","name":"Jan Kundrát"},"message":"Fix import of plugin symbols on Windows\n\nOn Windows, one has to mark the code which lives in a DLL as\nQ_DECL_EXPORT when building that DLL, and Q_DECL_IMPORT when using it\nfrom outside of the shared DLL.\n\nThe older version of this code was semi-correct -- the plugins\nthemselves were built in a mode where the PluginManager's methods were\naccessed as Q_DECL_IMPORT, the trojita_plugins.dll was built with a\ncorrect Q_DECL_EXPORT. So far so good. However, the main application was\naccessing the PluginManager using the default of Q_DECL_EXPORT. This is\na problem because trojita.exe needs to be built with PluginManager being\nmarked as Q_DECL_IMPORT since the PluginManager itself lives in that\nshared DLL.\n\nWhen the support for shared plugins is disabled (why do we want to\nsupport it in the first place, btw?), there's no reason to use any\ndllexport/dllimport bits, so we disable that through a #cmakedefine.\n\nWhen using the libtrojita_pluygins, though, we have to distinguish if\nthe PLUGINMANAGER_EXPORT is supposed to expand to Q_DECL_EXPORT or\nQ_DECL_IMPORT. Q_DECL_EXPORT should be used only iff the current\ntranslation unit is going to end up in libtrojita_plugins shared\nlibrary, otherwise it must be marked as Q_DECL_IMPORT.\n\nThe plugins themselves do not have to be marked in any special way due\nto the way how the Qt5 plugins work. Their loading and instantiation is\nhandled by Qt's own code. We do not have direct access to the plugins'\nheader files or their implementation, so there's no reason to export\ntheir own symbols.\n\nBUG: 359709\nChange-Id: I2128e5d06426e64f9cc3dee0dd2cf510a0769817","distinct":true,"url":"https://api.github.com/repos/KDE/trojita/commits/2fd5a59886f7720a4ba8321bb816cf94053fb153"},{"sha":"71b51d74f34ef30d7aed71272fc762187339d671","author":{"email":"25e791d8a36b81b637a317ac1df89288475888fe@kde.org","name":"Jan Kundrát"},"message":"Merge \"Fix import of plugin symbols on Windows\"","distinct":true,"url":"https://api.github.com/repos/KDE/trojita/commits/71b51d74f34ef30d7aed71272fc762187339d671"}]}