summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-01-08 21:45:03 -0600
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-01-08 21:45:03 -0600
commit5e47b11f231d3b096b52355cc285e124f257986b (patch)
tree0bc94e3894ccf97b828cde2696dd7dea1cc94378 /src
parente278b858739babff5cc19ca81a661e1256d162e7 (diff)
downloadqt3-5e47b11f231d3b096b52355cc285e124f257986b.tar.gz
qt3-5e47b11f231d3b096b52355cc285e124f257986b.zip
Enable gcc visibility support in Qt3
This partially closes Bug 696
Diffstat (limited to 'src')
-rw-r--r--src/kernel/qapplication_x11.cpp4
-rw-r--r--src/kernel/qgplugin.h36
-rw-r--r--src/kernel/qtextengine_p.h2
-rw-r--r--src/tools/qglobal.h4
4 files changed, 17 insertions, 29 deletions
diff --git a/src/kernel/qapplication_x11.cpp b/src/kernel/qapplication_x11.cpp
index 8eecdb4..4553fdf 100644
--- a/src/kernel/qapplication_x11.cpp
+++ b/src/kernel/qapplication_x11.cpp
@@ -337,7 +337,7 @@ static long qt_mode_switch_remove_mask = 0;
// flags for extensions for special Languages, currently only for RTL languages
static bool qt_use_rtl_extensions = FALSE;
-bool qt_hebrew_keyboard_hack = FALSE;
+Q_EXPORT bool qt_hebrew_keyboard_hack = FALSE;
static Window mouseActWindow = 0; // window where mouse is
static int mouseButtonPressed = 0; // last mouse button pressed
@@ -3851,7 +3851,7 @@ void qt_leave_modal( QWidget *widget )
}
-bool qt_try_modal( QWidget *widget, XEvent *event )
+Q_EXPORT bool qt_try_modal( QWidget *widget, XEvent *event )
{
if (qt_xdnd_dragging) {
// allow mouse events while DnD is active
diff --git a/src/kernel/qgplugin.h b/src/kernel/qgplugin.h
index 3fa4493..ba0914b 100644
--- a/src/kernel/qgplugin.h
+++ b/src/kernel/qgplugin.h
@@ -93,35 +93,19 @@
return i->iface(); \
}
-# ifdef Q_WS_WIN
-# ifdef Q_CC_BOR
-# define Q_EXPORT_PLUGIN(PLUGIN) \
- Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C __declspec(dllexport) \
- const char * __stdcall qt_ucm_query_verification_data() \
- { return qt_ucm_verification_data; } \
- Q_EXTERN_C __declspec(dllexport) QUnknownInterface* \
- __stdcall ucm_instantiate() \
- Q_PLUGIN_INSTANTIATE( PLUGIN )
-# else
-# define Q_EXPORT_PLUGIN(PLUGIN) \
- Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C __declspec(dllexport) \
- const char *qt_ucm_query_verification_data() \
- { return qt_ucm_verification_data; } \
- Q_EXTERN_C __declspec(dllexport) QUnknownInterface* ucm_instantiate() \
- Q_PLUGIN_INSTANTIATE( PLUGIN )
-# endif
-# else
-# define Q_EXPORT_PLUGIN(PLUGIN) \
+#if defined(Q_WS_WIN) && defined(Q_CC_BOR)
+# define Q_STDCALL __stdcall
+#else
+# define Q_STDCALL
+#endif
+
+#define Q_EXPORT_PLUGIN(PLUGIN) \
Q_PLUGIN_VERIFICATION_DATA \
- Q_EXTERN_C \
- const char *qt_ucm_query_verification_data() \
+ Q_EXTERN_C Q_EXPORT \
+ const char * Q_STDCALL qt_ucm_query_verification_data() \
{ return qt_ucm_verification_data; } \
- Q_EXTERN_C QUnknownInterface* ucm_instantiate() \
+ Q_EXTERN_C Q_EXPORT QUnknownInterface* Q_STDCALL ucm_instantiate() \
Q_PLUGIN_INSTANTIATE( PLUGIN )
-# endif
-
#endif
struct QUnknownInterface;
diff --git a/src/kernel/qtextengine_p.h b/src/kernel/qtextengine_p.h
index df7a79f..0bd5cd2 100644
--- a/src/kernel/qtextengine_p.h
+++ b/src/kernel/qtextengine_p.h
@@ -292,7 +292,7 @@ private:
class QFontPrivate;
-class QTextEngine {
+class Q_EXPORT QTextEngine {
public:
QTextEngine( const QString &str, QFontPrivate *f );
~QTextEngine();
diff --git a/src/tools/qglobal.h b/src/tools/qglobal.h
index 135c289..0fbd4aa 100644
--- a/src/tools/qglobal.h
+++ b/src/tools/qglobal.h
@@ -885,6 +885,10 @@ class QDataStream;
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
+#elif defined(Q_CC_GNU) && __GNUC__ - 0 >= 4
+# define Q_EXPORT __attribute__((visibility("default")))
+# undef QT_MAKEDLL /* ignore these for other platforms */
+# undef QT_DLL
#else
# undef QT_MAKEDLL /* ignore these for other platforms */
# undef QT_DLL