rpms/gnash/F-9 gnash-kde4-no-excessive-linkage.patch, NONE, 1.1 gnash-kde4-x11embed-resize.patch, NONE, 1.1 gnash-kde4-x11embed.patch, NONE, 1.1 gnash.spec, 1.26, 1.27

Kevin Kofler kkofler at fedoraproject.org
Thu Nov 13 19:30:39 UTC 2008


Author: kkofler

Update of /cvs/pkgs/rpms/gnash/F-9
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv25046/F-9

Modified Files:
	gnash.spec 
Added Files:
	gnash-kde4-no-excessive-linkage.patch 
	gnash-kde4-x11embed-resize.patch gnash-kde4-x11embed.patch 
Log Message:
Sync from devel:
* Thu Nov 13 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 0.8.4-4
- add 3 more patches from bero to fix the KDE 4 viewer executable
- disable use_kde3_executable hack

gnash-kde4-no-excessive-linkage.patch:

--- NEW FILE gnash-kde4-no-excessive-linkage.patch ---
--- gnash/gui/am-frag/kde4.am.ark	2008-11-10 21:15:44.084992017 +0100
+++ gnash/gui/am-frag/kde4.am	2008-11-10 21:16:16.573991177 +0100
@@ -27,11 +27,12 @@ kde4_gnash_LDFLAGS = $(LIBLTDL) -export-
 kde4_gnash_LDADD = \
 	$(MYSQL_LIBS) \
 	$(GNASH_LIBS) \
-	$(AM_LDFLAGS) @QTCORE@ @QTGUI@ @KDECORE@ @KDEUI@
+	$(AM_LDFLAGS) @QTCORE@ @QTGUI@
+# @KDECORE@ @KDEUI@
 if BUILD_AGG_RENDERER
 kde4_gnash_CPPFLAGS += $(AGG_CFLAGS)
 kde4_gnash_LDADD += $(top_builddir)/backend/libgnashagg.la \
-	$(KDE4_LIBS) $(QT4_LIBS) $(AGG_LIBS)
+	$(QT4_LIBS) $(AGG_LIBS)
 kde4_gnash_SOURCES += Kde4GlueAgg.cpp Kde4GlueAgg.h \
 	 	Kde4Gui.cpp Kde4Gui.h KdeGlue.h
 endif

gnash-kde4-x11embed-resize.patch:

--- NEW FILE gnash-kde4-x11embed-resize.patch ---
--- gnash/gui/Kde4Gui.cpp.ark	2008-11-11 09:44:54.032243413 +0100
+++ gnash/gui/Kde4Gui.cpp	2008-11-11 09:36:30.424990536 +0100
@@ -26,6 +26,7 @@
 #include <boost/assign/list_inserter.hpp>
 
 #include <QMainWindow>
+#include <QX11Info>
 #include <QMenu>
 #include <QMenuBar>
 #include <QWidget>
@@ -49,6 +50,9 @@
 #include "render_handler.h"
 #include "utility.h" // for PIXELS_TO_TWIPS 
 
+extern "C" {
+#include <X11/Xlib.h>
+}
 
 namespace gnash 
 {
@@ -116,6 +120,12 @@ Kde4Gui::createWindow(const char* window
     if(_xid) {
         _drawingWidget->embedInto(_xid);
 	_drawingWidget->show();
+	// Adjust width and height to the window we're being embedded into...
+	XWindowAttributes winAttributes;
+	XGetWindowAttributes(QX11Info::display(), _xid, &winAttributes);
+	_width=winAttributes.width;
+	_height=winAttributes.height;
+	_drawingWidget->resize(_width, _height);
     } else {
         // The QMainWindow takes ownership of the DrawingWidget.
         _window->setCentralWidget(_drawingWidget);
@@ -131,7 +141,7 @@ Kde4Gui::createWindow(const char* window
     }
 
     _validbounds.setTo(0, 0, _width, _height);
-    _glue.initBuffer(width, height);
+    _glue.initBuffer(_width, _height);
     
     set_render_handler(_renderer);
    

gnash-kde4-x11embed.patch:

--- NEW FILE gnash-kde4-x11embed.patch ---
--- gnash/gui/Kde4Gui.cpp.ark	2008-11-11 09:06:16.615265208 +0100
+++ gnash/gui/Kde4Gui.cpp	2008-11-11 09:03:10.264991500 +0100
@@ -113,9 +113,14 @@ Kde4Gui::createWindow(const char* window
     _drawingWidget->setFocusPolicy(Qt::StrongFocus);
     _window->setWindowTitle(windowtitle);
     
-    // The QMainWindow takes ownership of the DrawingWidget.
-    _window->setCentralWidget(_drawingWidget);
-    _window->show();
+    if(_xid) {
+        _drawingWidget->embedInto(_xid);
+	_drawingWidget->show();
+    } else {
+        // The QMainWindow takes ownership of the DrawingWidget.
+        _window->setCentralWidget(_drawingWidget);
+        _window->show();
+    }
 
     _glue.prepDrawingArea(_drawingWidget);
 
--- gnash/gui/Kde4Gui.h.ark	2008-11-11 09:06:22.101016959 +0100
+++ gnash/gui/Kde4Gui.h	2008-11-11 09:04:06.112989849 +0100
@@ -24,8 +24,7 @@
 
 #include "gui.h"
 
-#include <QObject>
-#include <QWidget>
+#include <QX11EmbedWidget>
 
 #ifdef RENDERER_OPENGL
 # error "OGL not supported yet for KDE4!"
@@ -48,12 +47,12 @@ namespace gnash {
 namespace gnash
 {
 
-class DrawingWidget : public QWidget
+class DrawingWidget : public QX11EmbedWidget
 {
-    Q_OBJECT;
+    Q_OBJECT
 
 public:
-    DrawingWidget(Kde4Gui& gui) : _gui(gui) {}
+    DrawingWidget(Kde4Gui& gui) : QX11EmbedWidget(),_gui(gui) {}
     ~DrawingWidget() {}
 
 public slots:


Index: gnash.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnash/F-9/gnash.spec,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -r1.26 -r1.27
--- gnash.spec	20 Oct 2008 19:40:07 -0000	1.26
+++ gnash.spec	13 Nov 2008 19:30:09 -0000	1.27
@@ -1,11 +1,11 @@
-# unfortunately, the KDE 4 executable is not ready yet
-# so use the KDE 3 one with the KDE 4 KPart - tested to work in Konqueror 4
+# The KDE 4 executable should be working now.
+# toggle this to use the KDE 3 one with the KDE 4 KPart (for use in Konq 4)
 # (It uses XEmbed, so it doesn't actually link KDE 3 stuff into Konqueror 4.)
-%define use_kde3_executable 1
+%define use_kde3_executable 0
 
 Name:           gnash
 Version:        0.8.4
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        GNU flash movie player
 
 Group:          Applications/Multimedia
@@ -22,6 +22,14 @@
 Patch2:         gnash-0.8.4-port-to-kde4.patch
 # register KComponentData properly in KDE 4 KPart
 Patch3:         gnash-0.8.3-fix-kde4-port.patch
+# Currently kde4-gnash (from kde4 branch) links against various KDE libraries,
+# but only needs Qt -- this patch removes the superfluous linkage (from bero)
+Patch4:         gnash-kde4-no-excessive-linkage.patch
+# This patch adds XEmbed support so kde4-gnash can be used in browser plugins
+# and the likes) (from bero)
+Patch5:         gnash-kde4-x11embed.patch
+# XEmbed resizing patch (from bero)
+Patch6:         gnash-kde4-x11embed-resize.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libxml2-devel libpng-devel libjpeg-devel libogg-devel
@@ -101,6 +109,9 @@
 %patch1 -p1 -b .configure
 %patch2 -p1 -b .kde4
 %patch3 -p1 -b .fix-kde4
+%patch4 -p1 -b .kde4-linkage
+%patch5 -p1 -b .xembed
+%patch6 -p1 -b .xembed-resize
 # handle the /usr/lib(64)/kde4/devel hack
 # If only this package used cmake, this wouldn't be necessary...
 sed -i -e 's!KDECORE="-lkdecore"!KDECORE="-L$KDE/$LibDir/kde4/devel -lkdecore"!g' macros/kde4.m4
@@ -328,6 +339,10 @@
 %{_mandir}/man1/cygnal.1*
 
 %changelog
+* Thu Nov 13 2008 Kevin Kofler <Kevin at tigcc.ticalc.org> 0.8.4-4
+- add 3 more patches from bero to fix the KDE 4 viewer executable
+- disable use_kde3_executable hack
+
 * Sun Oct 19 2008 Patrice Dumas <pertusus at free.fr> 0.8.4-3
 - add a desktop file
 




More information about the fedora-extras-commits mailing list