123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- 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
|