mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 05:23:39 +08:00
webkit: fix compilation with directfb
Closes #2833 Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
799a4c307e
commit
e855e2b2de
3
CHANGES
3
CHANGES
@ -3,7 +3,7 @@
|
||||
Fixes all over the tree.
|
||||
|
||||
Updated/fixed packages: libglib2, module-init-tools,
|
||||
mtd-utils, openssh, qt, sqlite
|
||||
mtd-utils, openssh, qt, sqlite, webkit
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
@ -12,6 +12,7 @@
|
||||
#2809: failed to compile libglib2
|
||||
#2821: [PATCH] Patch for JavaScriptCore in QtWebKit module
|
||||
#2827: qt-4.7.0-pthread_getattr_np.patch invalid for qt 4.6...
|
||||
#2833: Failed to compile webkit without X11
|
||||
|
||||
2010.11-rc1, Released November 8th, 2010:
|
||||
|
||||
|
144
package/webkit/webkit-1.2.3-fix-compilation-on-DirectFB.patch
Normal file
144
package/webkit/webkit-1.2.3-fix-compilation-on-DirectFB.patch
Normal file
@ -0,0 +1,144 @@
|
||||
From 91a2bf4c3a21720a27223ba293ba90f58c349959 Mon Sep 17 00:00:00 2001
|
||||
From: Lionel Landwerlin <llandwerlin@gmail.com>
|
||||
Date: Sun, 11 Apr 2010 14:38:57 +0200
|
||||
Subject: [PATCH] Fix compilation with DirectFB
|
||||
|
||||
Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com>
|
||||
---
|
||||
GNUmakefile.am | 2 ++
|
||||
WebCore/plugins/PluginView.h | 6 +++---
|
||||
WebCore/plugins/gtk/PluginViewGtk.cpp | 17 ++++++++---------
|
||||
3 files changed, 13 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/GNUmakefile.am b/GNUmakefile.am
|
||||
index 3bdfe53..8626bbb 100644
|
||||
--- a/GNUmakefile.am
|
||||
+++ b/GNUmakefile.am
|
||||
@@ -122,8 +122,10 @@ corekit_cppflags += \
|
||||
|
||||
# For the Gtk port we want to use XP_UNIX both in X11 and Mac
|
||||
if !TARGET_WIN32
|
||||
+if !TARGET_DIRECTFB
|
||||
corekit_cppflags += -DXP_UNIX
|
||||
endif
|
||||
+endif
|
||||
|
||||
# Default compiler flags
|
||||
global_cflags += \
|
||||
diff --git a/WebCore/plugins/PluginView.h b/WebCore/plugins/PluginView.h
|
||||
index 21a25f6..8116864 100644
|
||||
--- a/WebCore/plugins/PluginView.h
|
||||
+++ b/WebCore/plugins/PluginView.h
|
||||
@@ -22,7 +22,7 @@
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#ifndef PluginView_h
|
||||
@@ -312,7 +312,7 @@ namespace WebCore {
|
||||
bool m_haveInitialized;
|
||||
bool m_isWaitingToStart;
|
||||
|
||||
-#if defined(XP_UNIX)
|
||||
+#if defined(XP_UNIX) || PLATFORM(DIRECTFB)
|
||||
bool m_needsXEmbed;
|
||||
#endif
|
||||
|
||||
@@ -340,7 +340,7 @@ public:
|
||||
|
||||
private:
|
||||
|
||||
-#if defined(XP_UNIX) || OS(SYMBIAN)
|
||||
+#if defined(XP_UNIX) || OS(SYMBIAN) || PLATFORM(DIRECTFB)
|
||||
void setNPWindowIfNeeded();
|
||||
#elif defined(XP_MACOSX)
|
||||
NP_CGContext m_npCgContext;
|
||||
diff --git a/WebCore/plugins/gtk/PluginViewGtk.cpp b/WebCore/plugins/gtk/PluginViewGtk.cpp
|
||||
index 8de63e0..039a845 100644
|
||||
--- a/WebCore/plugins/gtk/PluginViewGtk.cpp
|
||||
+++ b/WebCore/plugins/gtk/PluginViewGtk.cpp
|
||||
@@ -23,7 +23,7 @@
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
|
||||
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "Image.h"
|
||||
#include "KeyboardEvent.h"
|
||||
#include "MouseEvent.h"
|
||||
+#include "NotImplemented.h"
|
||||
#include "Page.h"
|
||||
#include "PlatformKeyboardEvent.h"
|
||||
#include "PlatformMouseEvent.h"
|
||||
@@ -137,7 +138,7 @@ void PluginView::updatePluginWidget()
|
||||
if (!m_isWindowed) {
|
||||
if (m_drawable)
|
||||
XFreePixmap(GDK_DISPLAY(), m_drawable);
|
||||
-
|
||||
+
|
||||
m_drawable = XCreatePixmap(GDK_DISPLAY(), getRootWindow(m_parentFrame.get()),
|
||||
m_windowRect.width(), m_windowRect.height(),
|
||||
((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth);
|
||||
@@ -571,7 +572,7 @@ NPError PluginView::handlePostReadFile(Vector<char>& buffer, uint32 len, const c
|
||||
|
||||
//FIXME - read the file data into buffer
|
||||
FILE* fileHandle = fopen((filename.utf8()).data(), "r");
|
||||
-
|
||||
+
|
||||
if (fileHandle == 0)
|
||||
return NPERR_FILE_NOT_FOUND;
|
||||
|
||||
@@ -706,6 +707,7 @@ void PluginView::forceRedraw()
|
||||
gtk_widget_queue_draw(m_parentFrame->view()->hostWindow()->platformPageClient());
|
||||
}
|
||||
|
||||
+#if defined(XP_UNIX)
|
||||
static Display* getPluginDisplay()
|
||||
{
|
||||
// The plugin toolkit might have a different X connection open. Since we're
|
||||
@@ -713,14 +715,9 @@ static Display* getPluginDisplay()
|
||||
// plugins, so we can return that. We might want to add other implementations here
|
||||
// later.
|
||||
|
||||
-#if defined(XP_UNIX)
|
||||
return GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
|
||||
-#else
|
||||
- return 0;
|
||||
-#endif
|
||||
}
|
||||
|
||||
-#if defined(XP_UNIX)
|
||||
static void getVisualAndColormap(int depth, Visual** visual, Colormap* colormap)
|
||||
{
|
||||
*visual = 0;
|
||||
@@ -794,9 +791,9 @@ bool PluginView::platformStart()
|
||||
}
|
||||
|
||||
if (m_isWindowed) {
|
||||
-#if defined(XP_UNIX)
|
||||
GtkWidget* pageClient = m_parentFrame->view()->hostWindow()->platformPageClient();
|
||||
|
||||
+#if defined(XP_UNIX)
|
||||
if (m_needsXEmbed) {
|
||||
// If our parent is not anchored the startup process will
|
||||
// fail miserably for XEmbed plugins a bit later on when
|
||||
@@ -817,7 +814,9 @@ bool PluginView::platformStart()
|
||||
#endif
|
||||
} else {
|
||||
setPlatformWidget(0);
|
||||
+#if defined(XP_UNIX)
|
||||
m_pluginDisplay = getPluginDisplay();
|
||||
+#endif
|
||||
}
|
||||
|
||||
show();
|
||||
--
|
||||
1.7.0.4
|
||||
|
Loading…
Reference in New Issue
Block a user