MD5 dd8a01b726090b995a8b6a1e3931ee67 files/kaffeine-0.8.3-build.patch 403
RMD160 b92e966050ddcad80184d8c04c38af46f5825e42 files/kaffeine-0.8.3-build.patch 403
SHA256 8d7d657ad61a1cc5206174e3e3b81bb39331626a60d29970ff0db9cc69bef2e7 files/kaffeine-0.8.3-build.patch 403
+AUX kaffeine-0.8.3-xcb.patch 9407 RMD160 20f2608080ec8e6f4b7b2a5acc9ff241fbcf9367 SHA1 8c7ec07ab58911d1221b1dc761829da63e0c0521 SHA256 6b883026a8e3a64916be75236672014902c0a9d21a247c1ad6ed1e758826d66e
+MD5 f2b146d8dd5535cd4d1f9d38114b0ec1 files/kaffeine-0.8.3-xcb.patch 9407
+RMD160 20f2608080ec8e6f4b7b2a5acc9ff241fbcf9367 files/kaffeine-0.8.3-xcb.patch 9407
+SHA256 6b883026a8e3a64916be75236672014902c0a9d21a247c1ad6ed1e758826d66e files/kaffeine-0.8.3-xcb.patch 9407
DIST kaffeine-0.7.1.tar.bz2 2276747 RMD160 b609bc47dd7cc11753c016bf0da3214f54fa8df0 SHA1 ae91768ca9f2542ba9c287371109ef9095146270 SHA256 7e2611ba4fb4cc5b6a1802250a5c404b22cca434ce1d3bbe83088f6189bfa145
DIST kaffeine-0.8.3.tar.bz2 2940941 RMD160 f22a971481e8fd1a96063fef66d156d119c1e596 SHA1 6198ffe59422124855007a42443e2a69f6451e66 SHA256 42719f4eab6a27a06ec247369424f5a9d796fca74672573c467d024983a861b2
EBUILD kaffeine-0.7.1-r2.ebuild 1251 RMD160 bf83871489cf398fee05cf74cdaeb35860b97362 SHA1 210f905a2528e1636a6dffe6e7717ba62a73e2ef SHA256 156e2b1cbcdd7132b50d40d15f869276caf3642f331482f2d3e552636e7f7326
MD5 2b86f7aa8a3234ebe8b9780f38469e81 kaffeine-0.7.1-r2.ebuild 1251
RMD160 bf83871489cf398fee05cf74cdaeb35860b97362 kaffeine-0.7.1-r2.ebuild 1251
SHA256 156e2b1cbcdd7132b50d40d15f869276caf3642f331482f2d3e552636e7f7326 kaffeine-0.7.1-r2.ebuild 1251
+EBUILD kaffeine-0.8.3-r1.ebuild 1834 RMD160 93161479875233ca5cf0561a9a5ab4eda0dd53a7 SHA1 cb6e7ca9e8bcb566eb99e6d3cd5b0a4cd3b3552c SHA256 1d0215f233af3657aada5d15d4d6838a210b242346b9d5e65c931bf12a8e2c75
+MD5 3549cda251f017e67125e0ddb494728e kaffeine-0.8.3-r1.ebuild 1834
+RMD160 93161479875233ca5cf0561a9a5ab4eda0dd53a7 kaffeine-0.8.3-r1.ebuild 1834
+SHA256 1d0215f233af3657aada5d15d4d6838a210b242346b9d5e65c931bf12a8e2c75 kaffeine-0.8.3-r1.ebuild 1834
EBUILD kaffeine-0.8.3.ebuild 1310 RMD160 b9d5c6103f46e503dce424f5ee6dc90c278f470d SHA1 3a823f5eb54c1ecdf338922ea45c3f19e703f96b SHA256 cc38dd7a7b45d852e298afd20e7ade309886f579feaf3a6d51cdaadaab5a2950
MD5 57f9b44506e9c26e43c94f2a8424595e kaffeine-0.8.3.ebuild 1310
RMD160 b9d5c6103f46e503dce424f5ee6dc90c278f470d kaffeine-0.8.3.ebuild 1310
SHA256 cc38dd7a7b45d852e298afd20e7ade309886f579feaf3a6d51cdaadaab5a2950 kaffeine-0.8.3.ebuild 1310
-MISC ChangeLog 10258 RMD160 b0aaf04cb1047b40f0867535c76d1d41bf1702c3 SHA1 6ad1633e639a2dde698a745ea51b4df61f646d4d SHA256 704be585cef330d6887dd9e39bc52e3dc48e42c0b98c5cc81598c91292e7cf50
-MD5 0df8e555f784624f9371892168bcaf92 ChangeLog 10258
-RMD160 b0aaf04cb1047b40f0867535c76d1d41bf1702c3 ChangeLog 10258
-SHA256 704be585cef330d6887dd9e39bc52e3dc48e42c0b98c5cc81598c91292e7cf50 ChangeLog 10258
+MISC ChangeLog 10701 RMD160 9e95d0fcf2651ea2f1fbb563cd1a8fc884b70d0b SHA1 d1c8442e74c1e77552dff26d6822d2cb67874056 SHA256 734c6f6fde6558afc5f1e6711df238e9729ee1cde25d8ed225b4c51fc302028e
+MD5 cebd989f594515d16211263e65fe5283 ChangeLog 10701
+RMD160 9e95d0fcf2651ea2f1fbb563cd1a8fc884b70d0b ChangeLog 10701
+SHA256 734c6f6fde6558afc5f1e6711df238e9729ee1cde25d8ed225b4c51fc302028e ChangeLog 10701
MISC metadata.xml 301 RMD160 5424abb33cb1576f2742e6bbd75fa370c40214d1 SHA1 ce66e4b54d1cd620faddeacacceac59b5ede47ed SHA256 76010afeff62952f70b9b598778d4d198eabd1ec9e233902acd2c4019911745a
MD5 80b81e0016b1f3cb6c95459a0e35fc87 metadata.xml 301
RMD160 5424abb33cb1576f2742e6bbd75fa370c40214d1 metadata.xml 301
MD5 c9babd1fc7e4543b732e6b1ce64e50a5 files/digest-kaffeine-0.8.3 250
RMD160 a82907e44a8880cae92c5c4ec5c66720e8df0521 files/digest-kaffeine-0.8.3 250
SHA256 75a44f415295434b99fdcd723113cf61c8f7656b24574d1b4ae48987cba70879 files/digest-kaffeine-0.8.3 250
+MD5 c9babd1fc7e4543b732e6b1ce64e50a5 files/digest-kaffeine-0.8.3-r1 250
+RMD160 a82907e44a8880cae92c5c4ec5c66720e8df0521 files/digest-kaffeine-0.8.3-r1 250
+SHA256 75a44f415295434b99fdcd723113cf61c8f7656b24574d1b4ae48987cba70879 files/digest-kaffeine-0.8.3-r1 250
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.6 (GNU/Linux)
+Version: GnuPG v2.0.2 (GNU/Linux)
-iD8DBQFFy12DNQqtfCuFneMRAkrsAKCDUqlwl3TO2GBNZn+aVtwALsU/yACfVOE/
-h97clePW50I1/v251V3TbsY=
-=+Qow
+iD8DBQFFy/0GAiZjviIA2XgRAlgJAKDv+CViPfXui+Oa0L4KPFxtON67GwCg0wUB
+MWkSsUg0LVr8QW16OAoEdNo=
+=nxrn
-----END PGP SIGNATURE-----
--- /dev/null
+Index: kaffeine-0.8.3/kaffeine/src/main.cpp
+===================================================================
+--- kaffeine-0.8.3.orig/kaffeine/src/main.cpp
++++ kaffeine-0.8.3/kaffeine/src/main.cpp
+@@ -30,8 +30,6 @@
+ #include "kaffeine.h"
+ #include "version.h"
+
+-#include <X11/Xlib.h>
+-
+ class KaffeineApp : public KUniqueApplication
+ {
+ public:
+@@ -91,23 +89,6 @@ int main(int argc, char *argv[])
+ if (!KaffeineApp::start())
+ return 0;
+
+- /*
+- * XInitThreads() should the first call to xlib in multithreaded X programs -
+- * but because of a bug in some xfree versions that can freeze at startup,
+- * we also call XInitThreads() in kxinewidget.cpp
+- *
+- * kaffeinepart & konqueror: We call XInitThreads() in kxinewidget.cpp, so the part is
+- * not stable with buggy X implementations.
+- *
+- * FIXME: deadline for this workaround is 2007-03-16 --pfister
+- */
+-
+-#ifndef XINIT_WKRND /* configure flag --with-xinit-workaround not set */
+- flush(kdDebug() << "if kaffeine hangs here run 'configure --with-xinit-workaround' and recompile / reinstall ...");
+- XInitThreads();
+- kdDebug() << " ok\n";
+-#endif
+-
+ KaffeineApp a;
+ return a.exec();
+ }
+Index: kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/kxinewidget.cpp
+===================================================================
+--- kaffeine-0.8.3.orig/kaffeine/src/player-parts/xine-part/kxinewidget.cpp
++++ kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/kxinewidget.cpp
+@@ -38,10 +38,6 @@
+
+ #include "kxinewidget.h"
+
+-#ifdef HAVE_XINERAMA
+-#include <X11/extensions/Xinerama.h>
+-#endif
+-
+ #ifndef USE_QT_ONLY
+ #include "kxinewidget.moc"
+ #include <klocale.h>
+@@ -68,7 +64,7 @@ KXineWidget::KXineWidget(QWidget* parent
+ bool startManual, bool verbose)
+ : QWidget(parent,name), m_startXineManual(startManual), m_xineReady(false),
+ m_logoFile(pathToLogoFile), m_preferedAudio(audioDriver), m_preferedVideo(videoDriver), m_xineVerbose(verbose),
+- m_xineEngine(NULL), m_audioDriver(NULL), m_videoDriver(NULL), m_xineStream(NULL), m_xineDisplay(NULL),
++ m_xineEngine(NULL), m_audioDriver(NULL), m_videoDriver(NULL), m_xineStream(NULL), connection(NULL),
+ m_eventQueue(NULL), m_osd(NULL), m_osdUnscaled(false), m_osdShow(false), m_osdSize(0), m_osdFont(NULL),
+ m_audioChoices(NULL), m_audioInfo(NULL), m_videoChoices(NULL), m_videoInfo(NULL), m_mixerInfo(NULL),
+ m_osdShowInfo(NULL),
+@@ -239,12 +235,12 @@ KXineWidget::~KXineWidget()
+ delete [] m_audioChoices;
+ }
+
+- if (m_xineDisplay)
++ if (connection)
+ {
+ debugOut("Close xine display");
+- XCloseDisplay(m_xineDisplay); /* close xine display */
++ xcb_disconnect(connection); /* close xine display */
+ }
+- m_xineDisplay = NULL;
++ connection = NULL;
+
+ debugOut("xine closed");
+ }
+@@ -831,7 +827,7 @@ void KXineWidget::videoDriverChangedCall
+ xine_close_video_driver(vw->m_xineEngine, oldVideoDriver);
+
+ vw->m_videoDriver = xine_open_video_driver(vw->m_xineEngine,
+- entry->enum_values[entry->num_value], XINE_VISUAL_TYPE_X11,
++ entry->enum_values[entry->num_value], XINE_VISUAL_TYPE_XCB,
+ (void *) &(vw->m_x11Visual));
+
+ if (!vw->m_videoDriver)
+@@ -840,7 +836,7 @@ void KXineWidget::videoDriverChangedCall
+ QApplication::postEvent(vw, new QTimerEvent( TIMER_EVENT_NEW_XINE_ERROR));
+ playing = false;
+ vw->m_videoDriver = xine_open_video_driver(vw->m_xineEngine,
+- vw->m_videoDriverName.ascii(), XINE_VISUAL_TYPE_X11,
++ vw->m_videoDriverName.ascii(), XINE_VISUAL_TYPE_XCB,
+ (void *) &(vw->m_x11Visual));
+ }
+ else
+@@ -1012,14 +1008,18 @@ void KXineWidget::fontForOSDMessagesChan
+ * EVENT LOOP
+ *********************************************/
+
+-bool KXineWidget::x11Event(XEvent *event)
++void KXineWidget::paintEvent(QPaintEvent *event)
+ {
+- if (isXineReady())
+- if (event->type == Expose)
+- if (event->xexpose.count == 0)
+- xine_port_send_gui_data(m_videoDriver, XINE_GUI_SEND_EXPOSE_EVENT, event);
++ if (isXineReady()) {
++ xcb_expose_event_t xcb_event;
++ memset(&xcb_event, 0, sizeof(xcb_event));
+
+- return false;
++ xcb_event.count = 0;
++
++ xine_port_send_gui_data(m_videoDriver, XINE_GUI_SEND_EXPOSE_EVENT, &xcb_event);
++ }
++
++ QWidget::paintEvent(event);
+ }
+
+ /**********************************************************
+@@ -1044,39 +1044,17 @@ bool KXineWidget::initXine()
+
+ /**** INIT XINE DISPLAY ****/
+
+- XInitThreads();
+-
+- m_xineDisplay = XOpenDisplay( getenv("DISPLAY") );
++ connection = xcb_connect(NULL, NULL);
+
+- if (!m_xineDisplay)
++ if (!connection)
+ {
+ emit signalXineFatal(i18n("Failed to connect to X-Server!"));
+ return false;
+ }
+
+- int m_xineScreen = DefaultScreen(m_xineDisplay);
+- Window m_xineWindow = winId();
++ int m_xineWindow = winId();
+
+- /* determine display aspect ratio */
+- double resHor = ((double) DisplayWidth(m_xineDisplay, m_xineScreen)) / DisplayWidthMM(m_xineDisplay, m_xineScreen);
+- double resVer = ((double) DisplayHeight(m_xineDisplay, m_xineScreen)) / DisplayHeightMM(m_xineDisplay, m_xineScreen);
+-
+- m_displayRatio = resVer / resHor;
+-
+-#ifdef HAVE_XINERAMA
+- int dummy_event, dummy_error;
+-
+- if (XineramaQueryExtension(m_xineDisplay, &dummy_event, &dummy_error))
+- {
+- int count = 1;
+- debugOut("Xinerama extension present");
+- XineramaQueryScreens(m_xineDisplay, &count);
+- debugOut(QString("%1 screens detected").arg(count));
+- if (count > 1)
+- /* multihead -> assuming square pixels */
+- m_displayRatio = 1.0;
+- }
+-#endif
++ m_displayRatio = 1.0;
+
+ debugOut(QString("Display aspect ratio (v/h): %1").arg(m_displayRatio));
+
+@@ -1188,15 +1166,15 @@ bool KXineWidget::initXine()
+ /* init video driver */
+ debugOut("Init video driver");
+
+- m_x11Visual.display = m_xineDisplay;
+- m_x11Visual.screen = m_xineScreen;
+- m_x11Visual.d = m_xineWindow;
++ m_x11Visual.connection = connection;
++ m_x11Visual.screen = xcb_setup_roots_iterator(xcb_get_setup(connection)).data;
++ m_x11Visual.window = m_xineWindow;
+ m_x11Visual.dest_size_cb = &KXineWidget::destSizeCallback;
+ m_x11Visual.frame_output_cb = &KXineWidget::frameOutputCallback;
+ m_x11Visual.user_data = (void*)this;
+
+ m_videoDriver = xine_open_video_driver(m_xineEngine,
+- m_videoDriverName.ascii(), XINE_VISUAL_TYPE_X11,
++ m_videoDriverName.ascii(), XINE_VISUAL_TYPE_XCB,
+ (void *) &(m_x11Visual));
+
+ if (!m_videoDriver && m_videoDriverName != "auto")
+@@ -1204,7 +1182,7 @@ bool KXineWidget::initXine()
+ emit signalXineError(i18n("Can't init Video Driver '%1' - trying 'auto'...").arg(m_videoDriverName));
+ m_videoDriverName = "auto";
+ m_videoDriver = xine_open_video_driver(m_xineEngine,
+- m_videoDriverName.ascii(), XINE_VISUAL_TYPE_X11,
++ m_videoDriverName.ascii(), XINE_VISUAL_TYPE_XCB,
+ (void *) &(m_x11Visual));
+ }
+
+Index: kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/kxinewidget.h
+===================================================================
+--- kaffeine-0.8.3.orig/kaffeine/src/player-parts/xine-part/kxinewidget.h
++++ kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/kxinewidget.h
+@@ -48,7 +48,6 @@ class QTime;
+
+ #include <qtimer.h>
+ #include <qptrlist.h>
+-#include <X11/Xlib.h>
+ #include <xine.h>
+
+ #ifndef USE_QT_ONLY
+@@ -57,6 +56,8 @@ class QTime;
+ typedef int PostFilter; /* dummy type */
+ #endif
+
++#include <xcb/xcb.h>
++
+ #define SUPPORTED_PROTOCOLS "file,http,mms,mmst,rtsp,rtp,tcp,pnm,cdda,vcd,vcdo,dvd,dvb,pvr,v4l,net,vdr,smb"
+
+ #define DEFAULT_TVTIME_CONFIG "tvtime:method=LinearBlend,enabled=1,pulldown=none,framerate_mode=half_top,judder_correction=0,use_progressive_frame_flag=1,chroma_filter=0,cheap_mode=1"
+@@ -308,7 +309,7 @@ protected:
+ void initOSD();
+
+ private:
+- bool x11Event(XEvent *);
++ void paintEvent(QPaintEvent *);
+
+ /********* callbacks and threads ************/
+ static void destSizeCallback(void* p, int video_width, int video_height, double video_aspect,
+@@ -363,10 +364,10 @@ protected:
+ QStringList m_videoDriverList;
+
+ /*x11*/
+- Display* m_xineDisplay;
++ xcb_connection_t* connection;
+
+ /*xine*/
+- x11_visual_t m_x11Visual;
++ xcb_visual_t m_x11Visual;
+ xine_t* m_xineEngine;
+ xine_audio_port_t* m_audioDriver;
+ xine_video_port_t* m_videoDriver;
+Index: kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/Makefile.am
+===================================================================
+--- kaffeine-0.8.3.orig/kaffeine/src/player-parts/xine-part/Makefile.am
++++ kaffeine-0.8.3/kaffeine/src/player-parts/xine-part/Makefile.am
+@@ -13,7 +13,7 @@ noinst_HEADERS = xine_part_iface.h kxin
+ libxinepart_la_SOURCES = xine_part.cpp kxinewidget.cpp postfilter.cpp deinterlacequality.cpp \
+ videosettings.cpp filterdialog.cpp screenshotpreview.cpp xineconfig.cpp positionslider.cpp \
+ equalizer.cpp xine_part_iface.skel
+-libxinepart_la_LIBADD = $(LIB_XINERAMA) $(LIB_XINE) ../kaffeine-part/libkaffeinepart.la
++libxinepart_la_LIBADD = $(LIB_XINERAMA) $(LIB_XINE) ../kaffeine-part/libkaffeinepart.la -lxcb
+ libxinepart_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries) -avoid-version -no-undefined
+
+