You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
285 lines
8.4 KiB
285 lines
8.4 KiB
As the 2.2 headers are still using vlc_atomics (picture)
|
|
we cannot have a way to avoid collisions with early
|
|
or late <atomic> inclusion when using GCC >= 4.7
|
|
|
|
Conditionals in vlc_atomic won't work.
|
|
|
|
Happens in ProjectM and Qt5.
|
|
---
|
|
modules/gui/qt4/actions_manager.cpp | 2 ++
|
|
modules/gui/qt4/adapters/seekpoints.cpp | 4 +--
|
|
modules/gui/qt4/adapters/seekpoints.hpp | 4 +--
|
|
modules/gui/qt4/components/controller.cpp | 2 ++
|
|
.../gui/qt4/components/playlist/playlist_model.hpp | 4 +--
|
|
modules/gui/qt4/components/playlist/views.cpp | 6 ++++
|
|
modules/gui/qt4/dialogs/messages.cpp | 2 ++
|
|
modules/gui/qt4/dialogs/vlm.cpp | 4 ---
|
|
modules/gui/qt4/dialogs/vlm.hpp | 4 ++-
|
|
modules/gui/qt4/input_manager.cpp | 2 ++
|
|
modules/gui/qt4/input_manager.hpp | 3 +-
|
|
modules/gui/qt4/menus.cpp | 2 ++
|
|
modules/gui/qt4/qt4.hpp | 32 ++++++++++++++++++----
|
|
modules/gui/qt4/util/pictureflow.cpp | 2 ++
|
|
modules/visualization/projectm.cpp | 4 +++
|
|
15 files changed, 56 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/modules/gui/qt4/actions_manager.cpp b/modules/gui/qt4/actions_manager.cpp
|
|
index eff40d9..b7ca967 100644
|
|
--- a/modules/gui/qt4/actions_manager.cpp
|
|
+++ b/modules/gui/qt4/actions_manager.cpp
|
|
@@ -25,6 +25,8 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include <vlc_vout.h>
|
|
#include <vlc_keys.h>
|
|
|
|
diff --git a/modules/gui/qt4/adapters/seekpoints.cpp b/modules/gui/qt4/adapters/seekpoints.cpp
|
|
index fbf2957..a3564bb 100644
|
|
--- a/modules/gui/qt4/adapters/seekpoints.cpp
|
|
+++ b/modules/gui/qt4/adapters/seekpoints.cpp
|
|
@@ -19,14 +19,12 @@
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
|
*****************************************************************************/
|
|
|
|
+#include "seekpoints.hpp"
|
|
|
|
#include "recents.hpp"
|
|
#include "dialogs_provider.hpp"
|
|
#include "menus.hpp"
|
|
|
|
-#include "seekpoints.hpp"
|
|
-
|
|
-#include "qt4.hpp"
|
|
#include "input_manager.hpp"
|
|
|
|
SeekPoints::SeekPoints( QObject *parent, intf_thread_t *p_intf_ ) :
|
|
diff --git a/modules/gui/qt4/adapters/seekpoints.hpp b/modules/gui/qt4/adapters/seekpoints.hpp
|
|
index 0083989..bbb9214 100644
|
|
--- a/modules/gui/qt4/adapters/seekpoints.hpp
|
|
+++ b/modules/gui/qt4/adapters/seekpoints.hpp
|
|
@@ -22,9 +22,7 @@
|
|
#ifndef SEEKPOINTS_HPP
|
|
#define SEEKPOINTS_HPP
|
|
|
|
-#ifdef HAVE_CONFIG_H
|
|
-#include "config.h"
|
|
-#endif
|
|
+#include "qt4.hpp"
|
|
|
|
#include <vlc_common.h>
|
|
#include <vlc_interface.h>
|
|
diff --git a/modules/gui/qt4/components/controller.cpp b/modules/gui/qt4/components/controller.cpp
|
|
index d93e0db..c43d929 100644
|
|
--- a/modules/gui/qt4/components/controller.cpp
|
|
+++ b/modules/gui/qt4/components/controller.cpp
|
|
@@ -26,6 +26,8 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include <vlc_vout.h> /* vout_thread_t for FSC */
|
|
|
|
/* Widgets */
|
|
diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp
|
|
index f9d1d0c..1f71ac9 100644
|
|
--- a/modules/gui/qt4/components/playlist/playlist_model.hpp
|
|
+++ b/modules/gui/qt4/components/playlist/playlist_model.hpp
|
|
@@ -25,9 +25,7 @@
|
|
#ifndef _PLAYLIST_MODEL_H_
|
|
#define _PLAYLIST_MODEL_H_
|
|
|
|
-#ifdef HAVE_CONFIG_H
|
|
-# include "config.h"
|
|
-#endif
|
|
+#include "qt4.hpp"
|
|
|
|
#include <vlc_input.h>
|
|
#include <vlc_playlist.h>
|
|
diff --git a/modules/gui/qt4/components/playlist/views.cpp b/modules/gui/qt4/components/playlist/views.cpp
|
|
index 59f6535..0066205 100644
|
|
--- a/modules/gui/qt4/components/playlist/views.cpp
|
|
+++ b/modules/gui/qt4/components/playlist/views.cpp
|
|
@@ -21,6 +21,12 @@
|
|
* 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
|
*****************************************************************************/
|
|
|
|
+#ifdef HAVE_CONFIG_H
|
|
+#include "config.h"
|
|
+#endif
|
|
+
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include "components/playlist/views.hpp"
|
|
#include "components/playlist/vlc_model.hpp" /* VLCModel */
|
|
#include "components/playlist/sorting.h" /* Columns List */
|
|
diff --git a/modules/gui/qt4/dialogs/messages.cpp b/modules/gui/qt4/dialogs/messages.cpp
|
|
index 30793a2..9c79c99 100644
|
|
--- a/modules/gui/qt4/dialogs/messages.cpp
|
|
+++ b/modules/gui/qt4/dialogs/messages.cpp
|
|
@@ -24,6 +24,8 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include "dialogs/messages.hpp"
|
|
|
|
#include <QPlainTextEdit>
|
|
diff --git a/modules/gui/qt4/dialogs/vlm.cpp b/modules/gui/qt4/dialogs/vlm.cpp
|
|
index 0da88cc..595f015 100644
|
|
--- a/modules/gui/qt4/dialogs/vlm.cpp
|
|
+++ b/modules/gui/qt4/dialogs/vlm.cpp
|
|
@@ -23,10 +23,6 @@
|
|
* Foundation, Inc., 51 Franklin street, Fifth Floor, Boston MA 02110-1301, USA.
|
|
*****************************************************************************/
|
|
|
|
-#ifdef HAVE_CONFIG_H
|
|
-# include "config.h"
|
|
-#endif
|
|
-
|
|
#include "dialogs/vlm.hpp"
|
|
|
|
#ifdef ENABLE_VLM
|
|
diff --git a/modules/gui/qt4/dialogs/vlm.hpp b/modules/gui/qt4/dialogs/vlm.hpp
|
|
index a3c6e5d..dcf7110 100644
|
|
--- a/modules/gui/qt4/dialogs/vlm.hpp
|
|
+++ b/modules/gui/qt4/dialogs/vlm.hpp
|
|
@@ -25,8 +25,10 @@
|
|
#ifndef QVLC_VLM_DIALOG_H_
|
|
#define QVLC_VLM_DIALOG_H_ 1
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#ifdef HAVE_CONFIG_H
|
|
-# include "config.h"
|
|
+#include "config.h"
|
|
#endif
|
|
|
|
#ifdef ENABLE_VLM
|
|
diff --git a/modules/gui/qt4/input_manager.cpp b/modules/gui/qt4/input_manager.cpp
|
|
index fd45f4a..c50cb6c 100644
|
|
--- a/modules/gui/qt4/input_manager.cpp
|
|
+++ b/modules/gui/qt4/input_manager.cpp
|
|
@@ -30,6 +30,8 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include "input_manager.hpp"
|
|
#include "recents.hpp"
|
|
|
|
diff --git a/modules/gui/qt4/input_manager.hpp b/modules/gui/qt4/input_manager.hpp
|
|
index 7d3b76a..4fbecbb 100644
|
|
--- a/modules/gui/qt4/input_manager.hpp
|
|
+++ b/modules/gui/qt4/input_manager.hpp
|
|
@@ -29,9 +29,10 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include <vlc_input.h>
|
|
|
|
-#include "qt4.hpp"
|
|
#include "util/singleton.hpp"
|
|
#include "adapters/variables.hpp"
|
|
|
|
diff --git a/modules/gui/qt4/menus.cpp b/modules/gui/qt4/menus.cpp
|
|
index 116e98c..46240b0 100644
|
|
--- a/modules/gui/qt4/menus.cpp
|
|
+++ b/modules/gui/qt4/menus.cpp
|
|
@@ -34,6 +34,8 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include <vlc_common.h>
|
|
#include <vlc_intf_strings.h>
|
|
#include <vlc_vout.h> /* vout_thread_t */
|
|
diff --git a/modules/gui/qt4/qt4.hpp b/modules/gui/qt4/qt4.hpp
|
|
index 44d7db6..5aec957 100644
|
|
--- a/modules/gui/qt4/qt4.hpp
|
|
+++ b/modules/gui/qt4/qt4.hpp
|
|
@@ -29,12 +29,7 @@
|
|
# include "config.h"
|
|
#endif
|
|
|
|
-#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */
|
|
-#include <vlc_interface.h> /* intf_thread_t */
|
|
-#include <vlc_playlist.h> /* playlist_t */
|
|
-
|
|
-#define QT_NO_CAST_TO_ASCII
|
|
-#include <QString>
|
|
+#include <QtGlobal>
|
|
|
|
#if ( QT_VERSION < 0x040600 )
|
|
# error Update your Qt version to at least 4.6.0
|
|
@@ -43,6 +38,31 @@
|
|
#define HAS_QT47 ( QT_VERSION >= 0x040700 )
|
|
#define HAS_QT5 ( QT_VERSION >= 0x050000 )
|
|
|
|
+#if HAS_QT5
|
|
+ #include <QtCore/qcompilerdetection.h>
|
|
+ #if defined(Q_COMPILER_ATOMICS) && \
|
|
+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) )
|
|
+ #define VLC_ATOMIC_H
|
|
+ #include <atomic>
|
|
+ using namespace std;
|
|
+ # define atomic_store(object,desired) \
|
|
+ do { \
|
|
+ *(object) = (desired); \
|
|
+ __sync_synchronize(); \
|
|
+ } while (0)
|
|
+
|
|
+ # define atomic_load(object) \
|
|
+ (__sync_synchronize(), *(object))
|
|
+ #endif
|
|
+#endif
|
|
+
|
|
+#include <vlc_common.h> /* VLC_COMMON_MEMBERS for vlc_interface.h */
|
|
+#include <vlc_interface.h> /* intf_thread_t */
|
|
+#include <vlc_playlist.h> /* playlist_t */
|
|
+
|
|
+#define QT_NO_CAST_TO_ASCII
|
|
+#include <QString>
|
|
+
|
|
enum {
|
|
DialogEventTypeOffset = 0,
|
|
IMEventTypeOffset = 100,
|
|
diff --git a/modules/gui/qt4/util/pictureflow.cpp b/modules/gui/qt4/util/pictureflow.cpp
|
|
index 9318953..a7e6a01 100644
|
|
--- a/modules/gui/qt4/util/pictureflow.cpp
|
|
+++ b/modules/gui/qt4/util/pictureflow.cpp
|
|
@@ -29,6 +29,8 @@
|
|
THE SOFTWARE.
|
|
*/
|
|
|
|
+#include "qt4.hpp"
|
|
+
|
|
#include "pictureflow.hpp"
|
|
|
|
#include <QApplication>
|
|
diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp
|
|
index e80fbf4..96d532d 100644
|
|
--- a/modules/visualization/projectm.cpp
|
|
+++ b/modules/visualization/projectm.cpp
|
|
@@ -30,6 +30,10 @@
|
|
#endif
|
|
|
|
#include <assert.h>
|
|
+#if defined(__GNUC__) && \
|
|
+ ( __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7 ) )
|
|
+ #define VLC_ATOMIC_H /* Ensure C atomics wont collide with old intrinsics */
|
|
+#endif
|
|
|
|
#include <vlc_common.h>
|
|
#include <vlc_plugin.h>
|
|
--
|
|
2.7.4
|