From c1dccff70a80d1bfbdde95005870d955dc03bdb8 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 22 Dec 2013 00:38:52 +0100 Subject: [PATCH] Added new patch to support linux windowlessmode (required for Qt5 browsers) --- ...X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch | 41 +++++++++++++++++++ .../59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0.def | 3 ++ patches/patch-list.patch | 3 +- precommit-hook.sh | 13 ++++++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 patches/04-XEMBED/0003-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch create mode 100644 patches/04-XEMBED/59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0.def create mode 100755 precommit-hook.sh diff --git a/patches/04-XEMBED/0003-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch b/patches/04-XEMBED/0003-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch new file mode 100644 index 00000000..95f24619 --- /dev/null +++ b/patches/04-XEMBED/0003-winex11-Implement-X11DRV_FLUSH_GDI_DISPLAY-ExtEscape-c.patch @@ -0,0 +1,41 @@ +From 32ae090ad4a99862a420cfe44847d8e2905cdde7 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sat, 21 Dec 2013 23:57:02 +0100 +Subject: winex11: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command + +--- + dlls/winex11.drv/init.c | 3 +++ + dlls/winex11.drv/x11drv.h | 3 ++- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c +index 5a7d316..68d3f96 100644 +--- a/dlls/winex11.drv/init.c ++++ b/dlls/winex11.drv/init.c +@@ -440,6 +440,9 @@ static INT X11DRV_ExtEscape( PHYSDEV dev, INT escape, INT in_count, LPCVOID in_d + return TRUE; + } + break; ++ case X11DRV_FLUSH_GDI_DISPLAY: ++ XFlush( gdi_display ); ++ return TRUE; + default: + break; + } +diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h +index 9008db6..85dd2a5 100644 +--- a/dlls/winex11.drv/x11drv.h ++++ b/dlls/winex11.drv/x11drv.h +@@ -277,7 +277,8 @@ enum x11drv_escape_codes + X11DRV_GET_DRAWABLE, /* get current drawable for a DC */ + X11DRV_START_EXPOSURES, /* start graphics exposures */ + X11DRV_END_EXPOSURES, /* end graphics exposures */ +- X11DRV_FLUSH_GL_DRAWABLE /* flush changes made to the gl drawable */ ++ X11DRV_FLUSH_GL_DRAWABLE, /* flush changes made to the gl drawable */ ++ X11DRV_FLUSH_GDI_DISPLAY /* flush the gdi display */ + }; + + struct x11drv_escape_set_drawable +-- +1.7.9.5 + diff --git a/patches/04-XEMBED/59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0.def b/patches/04-XEMBED/59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0.def new file mode 100644 index 00000000..a6535d70 --- /dev/null +++ b/patches/04-XEMBED/59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0.def @@ -0,0 +1,3 @@ +Revision: 1 +Author: Sebastian Lackner +Title: Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command. diff --git a/patches/patch-list.patch b/patches/patch-list.patch index 7030cb60..6ad3fe16 100644 --- a/patches/patch-list.patch +++ b/patches/patch-list.patch @@ -33,7 +33,7 @@ diff --git a/libs/wine/config.c b/libs/wine/config.c index a273502..5fa0cd5 100644 --- a/libs/wine/config.c +++ b/libs/wine/config.c -@@ -478,6 +478,29 @@ const char *wine_get_version(void) +@@ -478,6 +478,30 @@ const char *wine_get_version(void) return PACKAGE_VERSION; } @@ -45,6 +45,7 @@ index a273502..5fa0cd5 100644 + { "8a366b6d-8ad6-4581-8aa9-66a03590a57b:1", "Erich E. Hoover", "Implement SIO_ADDRESS_LIST_CHANGE." }, + { "92938b89-506b-430a-ba50-32de8b286e56:1", "Erich E. Hoover", "Store and return security attributes with extended file attributes." }, + { "9cb0f665-bf7c-485f-89cc-554adcdf8880:1", "Erich E. Hoover", "Allow string comparison with linguistic casing." }, ++ { "59bd38b7-bbdc-4cfd-9ccd-1c72c4ed84c0:1", "Sebastian Lackner", "Implement X11DRV_FLUSH_GDI_DISPLAY ExtEscape command." }, + { "5d6bb7b5-ec88-4ed3-907d-9ad2173a2f88:1", "Sebastian Lackner", "Enable/disable windows when they are (un)mapped by foreign applications." }, + { "94186fff-6dbf-44d0-8eb1-2463d1608a0f:1", "Sebastian Lackner", "Update gl_drawable for embedded windows." }, + { "cbe240e8-2c58-430a-b61c-7fbb9d0e1e11:1", "Sebastian Lackner", "Change return value of stub SetNamedPipeHandleState to TRUE." }, diff --git a/precommit-hook.sh b/precommit-hook.sh new file mode 100755 index 00000000..39696f4d --- /dev/null +++ b/precommit-hook.sh @@ -0,0 +1,13 @@ +#!/bin/bash +# Installation: ln -s ../../precommit-hook.sh .git/hooks/pre-commit + +git diff --cached --name-status | while read status file; do + if [[ "$file" =~ ^patches/ ]] || [[ "$file" =~ ^patch-list-template.diff$ ]]; then + echo "" + echo "*** GENERATING patch-list.patch ***" + echo "" + ./generate-patchlist.sh > patches/patch-list.patch || exit 1 + git add patches/patch-list.patch || exit 1 + break; + fi +done