]> git.tdb.fi Git - xinema.git/blobdiff - source/xinema.cpp
Revert to using XLockDisplay/XUnlockDisplay
[xinema.git] / source / xinema.cpp
index 267f6a4eeb42b1dbebce1d71e67fc106133fe397..bc70c4154c04bec4aa63f49bd3cfe6855a73cd1e 100644 (file)
@@ -1,5 +1,6 @@
 #include <sigc++/bind.h>
 #include <msp/fs/dir.h>
+#include <msp/graphics/display_private.h>
 #include <msp/time/utils.h>
 #include "xineengine.h"
 #include "xinema.h"
@@ -8,6 +9,12 @@
 using namespace std;
 using namespace Msp;
 
+Xinema::EarlyInit::EarlyInit()
+{
+       XInitThreads();
+}
+
+
 Xinema::Xinema(int, char **):
        window(display, 1920, 1080),
        network(*this),
@@ -22,7 +29,7 @@ int Xinema::main()
        window.show();
        display.tick();
 
-       engine = new XineEngine(window, &display_mutex);
+       engine = new XineEngine(window);
        play_file(FS::get_sys_data_dir()/"xinema.png");
 
        Application::main();
@@ -53,10 +60,9 @@ void Xinema::tick()
        if(new_stream)
                signal_stream_created.emit(*stream);
 
-       {
-               MutexLock lock(display_mutex);
-               display.tick();
-       }
+       XLockDisplay(display.get_private().display);
+       display.tick();
+       XUnlockDisplay(display.get_private().display);
 
        engine->tick();