[Commits] [SCM] claws-win32-installer branch, gtk3, updated. 4.0.0-1-51-ge8649eb

jonathan at claws-mail.org jonathan at claws-mail.org
Mon Jan 17 07:15:34 CET 2022


The branch, gtk3 has been updated
       via  e8649eb47b007cc5015da5b0299223de0098df4c (commit)
      from  499d62575d428f07fb99844f99156bf72922d673 (commit)

Summary of changes:
 packages/packages.current                          |   2 +-
 patches/gtk-3.24.31/01-gdkkeys-win32-h.patch       | 171 +++++++++++++++++++++
 patches/gtk-3.24.31/02-windows-h.patch             |  24 +++
 patches/gtk-3.24.31/03-gc-allgestures.patch        |  26 ++++
 ...-theme-Fix-levelbar-and-tweak-progressbar.patch |  90 -----------
 ...2-win32-theme-fix-disabled-GtkEntry-style.patch |  27 ----
 ...-win32-theme-Fix-unfocused-window-buttons.patch |  71 ---------
 .../gtk/57-win32-theme-Draw-expander-arrow.patch   |  39 -----
 8 files changed, 222 insertions(+), 228 deletions(-)
 create mode 100644 patches/gtk-3.24.31/01-gdkkeys-win32-h.patch
 create mode 100644 patches/gtk-3.24.31/02-windows-h.patch
 create mode 100644 patches/gtk-3.24.31/03-gc-allgestures.patch
 delete mode 100644 patches/gtk/51-win32-theme-Fix-levelbar-and-tweak-progressbar.patch
 delete mode 100644 patches/gtk/52-win32-theme-fix-disabled-GtkEntry-style.patch
 delete mode 100644 patches/gtk/54-win32-theme-Fix-unfocused-window-buttons.patch
 delete mode 100644 patches/gtk/57-win32-theme-Draw-expander-arrow.patch


- Log -----------------------------------------------------------------
commit e8649eb47b007cc5015da5b0299223de0098df4c
Author: Jonathan Boeing <jonathan at claws-mail.org>
Date:   Sun Jan 2 10:57:06 2022 -0700

    update to gtk-3.24.31

diff --git a/packages/packages.current b/packages/packages.current
index e35a564..f8cd0a6 100644
--- a/packages/packages.current
+++ b/packages/packages.current
@@ -22,7 +22,7 @@ glib_networking,2.70.1,file,https://download.gnome.org/sources/glib-networking/2
 gmp,6.2.1,file,https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz,fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2,,
 gnutls,3.6.16,file,https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.16.tar.xz,1b79b381ac283d8b054368b335c408fedcb9b7144e0c07f531e3537d4328f3b3,,
 gpgme,1.16.0,file,https://gnupg.org/ftp/gcrypt/gpgme/gpgme-1.16.0.tar.bz2,6c8cc4aedb10d5d4c905894ba1d850544619ee765606ac43df7405865de29ed0,,
-gtk,3.24.29,file,https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.29.tar.xz,f57ec4ade8f15cab0c23a80dcaee85b876e70a8823d9105f067ce335a8268caa,,
+gtk,3.24.31,file,https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.31.tar.xz,423c3e7fdb4c459ee889e35fd4d71fd2623562541c1041b11c07e5ad1ff10bf9,,
 gumbo_parser,0.10.1,file,https://github.com/google/gumbo-parser/archive/v0.10.1.tar.gz,28463053d44a5dfbc4b77bcf49c8cee119338ffa636cc17fc3378421d714efad,,
 harfbuzz,2.9.1,file,https://github.com/harfbuzz/harfbuzz/releases/download/2.9.1/harfbuzz-2.9.1.tar.xz,0edcc980f526a338452180e701d6aba6323aef457b6686976a7d17ccbddc51cf,,
 hunspell,1.7.0,file,https://github.com/hunspell/hunspell/files/2573619/hunspell-1.7.0.tar.gz,57be4e03ae9dd62c3471f667a0d81a14513e314d4d92081292b90435944ff951,,
diff --git a/patches/gtk-3.24.31/01-gdkkeys-win32-h.patch b/patches/gtk-3.24.31/01-gdkkeys-win32-h.patch
new file mode 100644
index 0000000..a275f92
--- /dev/null
+++ b/patches/gtk-3.24.31/01-gdkkeys-win32-h.patch
@@ -0,0 +1,171 @@
+--- a/gdk/win32/gdkkeys-win32.h	2022-01-02 13:05:43.284701904 -0700
++++ b/gdk/win32/gdkkeys-win32.h	2022-01-02 13:04:57.244227175 -0700
+@@ -0,0 +1,168 @@
++/*
++ * Copyright (c) 2021 Philip Zander
++ * Copyright (c) 2018 Microsoft
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a copy
++ * of this software and associated documentation files (the "Software"), to deal
++ * in the Software without restriction, including without limitation the rights
++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ * copies of the Software, and to permit persons to whom the Software is
++ * furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice shall be included in all
++ * copies or substantial portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ * SOFTWARE.
++ */
++
++#include <glib.h>
++#include <Windows.h>
++
++/* For lookup table VK -> chars */
++typedef struct 
++{
++  int table;
++  int index;
++} GdkWin32KeymapTableAndIndex;
++
++/* For reverse lookup char -> VKs */
++typedef struct
++{
++  BYTE mod_bits;
++  BYTE vk;
++
++  /* Index of next KeyEntry. -1 if there is no next entry. */
++  int  next;
++} GdkWin32KeymapKeyEntry;
++
++typedef struct
++{
++  HKL            handle;
++
++  /* Keyboard layout identifier */
++  char           name[KL_NAMELENGTH];
++
++  /* Path of the layout DLL */
++  char          *file;
++
++  /* Handle of the layout DLL */
++  HINSTANCE      lib;
++
++  /* The actual conversion tables provided by the layout DLL.
++   *
++   * This is a pointer to a KBDTABLES structure. The exact definition
++   * of this structure depends on the kernel on which the executable
++   * run and can in general only be determined at runtime. That's why
++   * we have to use a generic gpointer instead of the actual type here.
++   *
++   * See comment on GdkWin32KeymapImpl below for more information. */
++  gpointer       tables;
++
++  /* VK -> chars lookup table so we don't have to do a linear scan
++   * every time we look up a key. */
++  GdkWin32KeymapTableAndIndex vk_lookup_table[256];
++
++  /* List of entries for reverse (char ->VKs) lookup. */
++  GArray        *key_entries;
++
++  /* Reverse lookup table (char -> VKs). Key: Unichar. Value: int.
++   * The value is used to index into the key_entries array. The key_entries
++   * array can contain multiple consecutive entries for a given char.
++   * The end of the list for the char is marked by a key entry that has
++   * mod_bits and vk set to 0xFF. */
++  GHashTable    *reverse_lookup_table;
++
++  /* Map level to modbits */
++  BYTE           level_to_modbits[256];
++
++  /* Max Number of levels */
++  BYTE           max_level;
++
++  /* Maximum possible value of a modbits bitset. */
++  BYTE           max_modbit_value;
++
++} GdkWin32KeymapLayoutInfo;
++
++/* Some keyboard driver constants
++ * See https://github.com/microsoft/windows-rs/blob/0.28.0/crates/deps/sys/src/Windows/Win32/UI/Input/KeyboardAndMouse/mod.rs
++ */
++
++/* Modifier bits */
++#define KBDBASE        0x00
++#define KBDSHIFT       0x01
++#define KBDCTRL        0x02
++#define KBDALT         0x04
++#define KBDKANA        0x08
++#define KBDROYA        0x10
++#define KBDLOYA        0x20
++#define KBDGRPSELTAP   0x80
++
++#define KBDALTGR (KBDCTRL| KBDALT)
++
++/* */
++#define SHFT_INVALID 0x0F
++
++/* Char table constants */
++#define WCH_NONE 0xF000
++#define WCH_DEAD 0xF001
++#define WCH_LGTR 0xF002
++
++/* Char table flags */
++#define CAPLOK      0x01
++#define SGCAPS      0x02
++#define CAPLOKALTGR 0x04
++#define KANALOK     0x08
++#define GRPSELTAP   0x80
++
++/* IMPORTANT:
++ *
++ * Keyboard layout DLLs are dependent on the host architecture.
++ *
++ * - 32 bit systems have just one 32 bit DLL in System32.
++ * - 64 bit systems contain two versions of each layout DLL: One in System32
++ *   for 64-bit applications, and one in SysWOW64 for 32-bit applications.
++ *
++ * Here comes the tricky part:
++ *
++ * The 32-bit DLL in SysWOW64 is *not* identical to the DLL you would find
++ * on a true 32 bit system, because all the pointers there are declared with
++ * the attribute `__ptr64` (which means they are 64 bits wide, but only the 
++ * lower 32 bits are used).
++ *
++ * This leads to the following problems:
++ *
++ *   (1) GCC does not support `__ptr64`
++ *   (2) When compiling the 32-bit library, we need two versions of the same code
++ *       and decide at run-time which one to execute, because we can't know at
++ *       compile time whether we will be running on a true 32-bit system, or on
++ *       WOW64.
++ *
++ * To solve this problem, we generate code for both cases (see
++ * gdkkeys-win32-impl.c + gdkkeys-win32-impl-wow64.c) and encapsulate
++ * the resulting functions in a struct of type GdkWin32KeymapImpl,
++ * allowing us to select the correct implementation at runtime.
++ *
++ */
++
++typedef struct
++{
++  gboolean  (*load_layout_dll)      (const char               *dll,
++                                     GdkWin32KeymapLayoutInfo *info);
++  void      (*init_vk_lookup_table) (GdkWin32KeymapLayoutInfo *info);
++  BYTE      (*keystate_to_modbits)  (GdkWin32KeymapLayoutInfo *info,
++                                     const BYTE                keystate[256]);
++  BYTE      (*modbits_to_level)     (GdkWin32KeymapLayoutInfo *info,
++                                     BYTE                      modbits);
++  WCHAR     (*vk_to_char_fuzzy)     (GdkWin32KeymapLayoutInfo *info,
++                                     const BYTE                keystate[256],
++                                     BYTE                      extra_mod_bits,
++                                     BYTE                     *consumed_mod_bits,
++                                     gboolean                 *is_dead,
++                                     BYTE                      vk);
++} GdkWin32KeymapImpl;
diff --git a/patches/gtk-3.24.31/02-windows-h.patch b/patches/gtk-3.24.31/02-windows-h.patch
new file mode 100644
index 0000000..d45273b
--- /dev/null
+++ b/patches/gtk-3.24.31/02-windows-h.patch
@@ -0,0 +1,24 @@
+From 4090306fd7216cb102590262b444de7127242725 Mon Sep 17 00:00:00 2001
+From: Melroy van den Berg <melroy at melroy.org>
+Date: Tue, 28 Dec 2021 00:47:28 +0100
+Subject: [PATCH] Lowercaps Windows.h -> windows.h
+
+---
+ gdk/win32/gdkkeys-win32.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gdk/win32/gdkkeys-win32.h b/gdk/win32/gdkkeys-win32.h
+index 14a69d8081..17b7d7125c 100644
+--- a/gdk/win32/gdkkeys-win32.h
++++ b/gdk/win32/gdkkeys-win32.h
+@@ -22,7 +22,7 @@
+  */
+
+ #include <glib.h>
+-#include <Windows.h>
++#include <windows.h>
+
+ /* For lookup table VK -> chars */
+ typedef struct
+--
+2.30.2
diff --git a/patches/gtk-3.24.31/03-gc-allgestures.patch b/patches/gtk-3.24.31/03-gc-allgestures.patch
new file mode 100644
index 0000000..0e8fcbb
--- /dev/null
+++ b/patches/gtk-3.24.31/03-gc-allgestures.patch
@@ -0,0 +1,26 @@
+From 37f9af58059252c27197444f13fd9fe5b65ef4b4 Mon Sep 17 00:00:00 2001
+From: Melroy van den Berg <melroy at melroy.org>
+Date: Tue, 28 Dec 2021 00:50:17 +0100
+Subject: [PATCH] Add define for GC_ALLGESTURES, in-case WINVER is not set.
+
+---
+ gdk/win32/winpointer.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/gdk/win32/winpointer.h b/gdk/win32/winpointer.h
+index ee3e42e063..786f6016c7 100644
+--- a/gdk/win32/winpointer.h
++++ b/gdk/win32/winpointer.h
+@@ -138,6 +138,10 @@
+ #define PA_ACTIVATE MA_ACTIVATE
+ #define PA_NOACTIVATE MA_NOACTIVATE
+
++#ifndef GC_ALLGESTURES
++#define GC_ALLGESTURES 0x1
++#endif
++
+ typedef DWORD POINTER_INPUT_TYPE;
+ typedef UINT32 POINTER_FLAGS;
+ typedef UINT32 TOUCH_FLAGS;
+--
+2.30.2
diff --git a/patches/gtk/51-win32-theme-Fix-levelbar-and-tweak-progressbar.patch b/patches/gtk/51-win32-theme-Fix-levelbar-and-tweak-progressbar.patch
deleted file mode 100644
index 35a60c3..0000000
--- a/patches/gtk/51-win32-theme-Fix-levelbar-and-tweak-progressbar.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 56ec8b1af54e43682fbe4c57a12b83de2f43e0af Mon Sep 17 00:00:00 2001
-From: Jaime Velasco Juan <jsagarribay at gmail.com>
-Date: Thu, 20 Oct 2016 09:58:19 +0100
-Subject: [PATCH 1/7] win32 theme: Fix levelbar and tweak progressbar
-
-Both have a similar look now
----
- gtk/theme/win32/gtk-win32-base.css | 46 +++++++++++++++++++++++++++-----------
- 1 file changed, 33 insertions(+), 13 deletions(-)
-
-diff --git a/gtk/theme/win32/gtk-win32-base.css b/gtk/theme/win32/gtk-win32-base.css
-index 8ea3104..f9255cd 100644
---- a/gtk/theme/win32/gtk-win32-base.css
-+++ b/gtk/theme/win32/gtk-win32-base.css
-@@ -998,39 +998,59 @@ scale value {
- }
- 
- 
--/* Progress bars */
-+/* Progress bars and level bars */
- 
--progressbar {
--    background-color: transparent;
--    padding: 0;
-+progressbar.horizontal trough,
-+levelbar.horizontal trough {
-+    min-height: -gtk-win32-part-height(progress, 1, 1);
-+    background-image: -gtk-win32-theme-part(progress, 1, 1);
-+}
-+progressbar.vertical trough,
-+levelbar.vertical trough {
-+    min-width: -gtk-win32-part-width(progress, 1, 1);
-+    background-image: -gtk-win32-theme-part(progress, 2, 1);
- }
- 
--progressbar trough {
--    border-width: 0;
--    background-image: -gtk-win32-theme-part(progress, 1, 1);
-+progressbar.horizontal progress, levelbar.horizontal block {
-+    min-height: -gtk-win32-part-height(progress, 5, 1);
- }
- 
- progressbar progress,
-+levelbar block.filled,
- entry progress,
- entry progress:focus {
--    border-width: 0;
-     background-image: -gtk-win32-theme-part(progress, 5, 1);
- }
- 
--progressbar progress.pulse,
-+/* We use here PBFS_PAUSED (yellow by default) and PBFS_PARTIAL (blue) */
-+levelbar block.low {
-+    background-image: -gtk-win32-theme-part(progress, 5, 3);
-+}
-+levelbar block.full {
-+    background-image: -gtk-win32-theme-part(progress, 5, 4);
-+}
-+
-+progressbar.horizontal progress.pulse,
- entry progress.pulse,
- entry progress.pulse:focus {
--    background-color: transparent;
-     background-image: -gtk-win32-theme-part(progress, 8, 1);
- }
- 
--progressbar.vertical trough {
--    background-image: -gtk-win32-theme-part(progress, 2, 1);
-+progressbar.vertical progress,
-+levelbar.vertical block {
-+    min-width: -gtk-win32-part-width(progress, 6, 1);
- }
- 
--progressbar.vertical progress {
-+progressbar.vertical progress,
-+levelbar.vertical block.filled {
-     background-image: -gtk-win32-theme-part(progress, 6, 1);
- }
-+levelbar.vertical block.low {
-+    background-image: -gtk-win32-theme-part(progress, 6, 3);
-+}
-+levelbar.vertical block.full {
-+    background-image: -gtk-win32-theme-part(progress, 6, 4);
-+}
- 
- progressbar.vertical progress.pulse {
-     background-image: -gtk-win32-theme-part(progress, 10, 1);
--- 
-2.9.1
-
diff --git a/patches/gtk/52-win32-theme-fix-disabled-GtkEntry-style.patch b/patches/gtk/52-win32-theme-fix-disabled-GtkEntry-style.patch
deleted file mode 100644
index cd7e38a..0000000
--- a/patches/gtk/52-win32-theme-fix-disabled-GtkEntry-style.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 4627b31437db1b7d1b413bb6b9bd434e30c748d7 Mon Sep 17 00:00:00 2001
-From: Jaime Velasco Juan <jsagarribay at gmail.com>
-Date: Thu, 20 Oct 2016 11:00:09 +0100
-Subject: [PATCH 2/7] win32 theme: fix disabled GtkEntry style
-
----
- gtk/theme/win32/gtk-win32-base.css | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/gtk/theme/win32/gtk-win32-base.css b/gtk/theme/win32/gtk-win32-base.css
-index f9255cd..3038452 100644
---- a/gtk/theme/win32/gtk-win32-base.css
-+++ b/gtk/theme/win32/gtk-win32-base.css
-@@ -690,7 +690,9 @@ entry:focus {
- 
- textview.view:disabled,
- entry:disabled {
--    background-image: -gtk-win32-theme-part(edit, 1, 4);
-+    /* This theme part feels wrong here, but it looks as one would expect,
-+     whereas (edit, 5, 3) BACKGROUNDWITHBORDER, EBS_DISABLED is just white */
-+    background-image: -gtk-win32-theme-part(combobox, 5, 4);
-     color: -gtk-win32-color(edit, graytext);
- }
- 
--- 
-2.9.1
-
diff --git a/patches/gtk/54-win32-theme-Fix-unfocused-window-buttons.patch b/patches/gtk/54-win32-theme-Fix-unfocused-window-buttons.patch
deleted file mode 100644
index 0587fc8..0000000
--- a/patches/gtk/54-win32-theme-Fix-unfocused-window-buttons.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 6441ce083826a8526bfd17d3807939e63f90ffba Mon Sep 17 00:00:00 2001
-From: Jaime Velasco Juan <jsagarribay at gmail.com>
-Date: Fri, 21 Oct 2016 12:35:07 +0100
-Subject: [PATCH 4/7] win32 theme: Fix unfocused window buttons
-
----
- gtk/theme/win32/gtk.css | 25 ++++++++++++++++++++++---
- 1 file changed, 22 insertions(+), 3 deletions(-)
-
-diff --git a/gtk/theme/win32/gtk.css b/gtk/theme/win32/gtk.css
-index 218875e..cd9b859 100644
---- a/gtk/theme/win32/gtk.css
-+++ b/gtk/theme/win32/gtk.css
-@@ -183,9 +183,18 @@ decoration:disabled {
-   margin: -3px;
- }
- 
-+.titlebar .close image,
-+.titlebar .maximize image,
-+.titlebar .minimize image {
-+    color: transparent;
-+}
-+
- .titlebar button.close {
-     background-image: -gtk-win32-theme-part(window, 18, 1);
--    color: transparent;
-+}
-+
-+.titlebar button.close:backdrop {
-+    background-image: -gtk-win32-theme-part(window, 18, 5);
- }
- 
- .titlebar button.close:hover {
-@@ -202,7 +211,10 @@ decoration:disabled {
- 
- .titlebar button.minimize {
-     background-image: -gtk-win32-theme-part(window, 15, 1);
--    color: transparent;
-+}
-+
-+.titlebar button.minimize:backdrop {
-+    background-image: -gtk-win32-theme-part(window, 15, 5);
- }
- 
- .titlebar button.minimize:hover {
-@@ -219,7 +231,10 @@ decoration:disabled {
- 
- .titlebar button.maximize {
-     background-image: -gtk-win32-theme-part(window, 17, 1);
--    color: transparent;
-+}
-+
-+.titlebar button.maximize:backdrop {
-+    background-image: -gtk-win32-theme-part(window, 17, 5);
- }
- 
- .titlebar button.maximize:hover {
-@@ -238,6 +253,10 @@ decoration:disabled {
-     background-image: -gtk-win32-theme-part(window, 21, 1);
- }
- 
-+.maximized .titlebar button.maximize:backdrop {
-+    background-image: -gtk-win32-theme-part(window, 21, 5);
-+}
-+
- .maximized .titlebar button.maximize:hover {
-     background-image: -gtk-win32-theme-part(window, 21, 2);
- }
--- 
-2.9.1
-
diff --git a/patches/gtk/57-win32-theme-Draw-expander-arrow.patch b/patches/gtk/57-win32-theme-Draw-expander-arrow.patch
deleted file mode 100644
index 9abbaa4..0000000
--- a/patches/gtk/57-win32-theme-Draw-expander-arrow.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From be59f5bc95d9fd18fba250282021c96d2b9254f1 Mon Sep 17 00:00:00 2001
-From: Jaime Velasco Juan <jsagarribay at gmail.com>
-Date: Mon, 31 Oct 2016 14:00:16 +0000
-Subject: [PATCH 7/7] win32 theme: Draw expander arrow
-
-Better than nothing.
----
- gtk/theme/win32/gtk-win32-base.css | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/gtk/theme/win32/gtk-win32-base.css b/gtk/theme/win32/gtk-win32-base.css
-index 0cbaa3c..9be7dc0 100644
---- a/gtk/theme/win32/gtk-win32-base.css
-+++ b/gtk/theme/win32/gtk-win32-base.css
-@@ -1176,6 +1176,21 @@ statusbar > frame {
-     background-image: none;
- }
- 
-+/* Expander */
-+
-+expander title arrow {
-+    background-image: -gtk-win32-theme-part(explorerbar, 7, 1);
-+}
-+expander title arrow:checked {
-+    background-image: -gtk-win32-theme-part(explorerbar, 6, 1);
-+}
-+expander title:hover arrow {
-+    background-image: -gtk-win32-theme-part(explorerbar, 7, 2);
-+}
-+expander title:hover arrow:checked {
-+    background-image: -gtk-win32-theme-part(explorerbar, 6, 2);
-+}
-+
- /* Spinner */
- 
- @keyframes spin {
--- 
-2.9.1
-

-----------------------------------------------------------------------


hooks/post-receive
-- 
Installer sources for Claws Mail Windows port


More information about the Commits mailing list