<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to patches</title><link>https://sourceforge.net/p/foxgui/patches/</link><description>Recent changes to patches</description><atom:link href="https://sourceforge.net/p/foxgui/patches/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sun, 04 Dec 2022 15:59:49 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/foxgui/patches/feed.rss" rel="self" type="application/rss+xml"/><item><title>Fixes for 32-bit Windows Builds</title><link>https://sourceforge.net/p/foxgui/patches/15/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;For FOX 1.7.81 and Visual Studio 2019.&lt;/p&gt;
&lt;p&gt;The 3 patches, in combination with the instructions in the .txt file to update the Visual Studio project configurations, get x86 (32-bit) Windows builds working again.&lt;/p&gt;
&lt;p&gt;More specifically, the instructions are enough to build foxdll and to build adie against foxdll.&lt;/p&gt;
&lt;p&gt;The changes to FXAtomic.cpp have not been tested.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 04 Dec 2022 15:59:49 -0000</pubDate><guid>https://sourceforge.net16850c69a6a3a63c26d6b42c51d1e21a6976c644</guid></item><item><title>#14 Consistently use '_WIN32' macro, never 'WIN32'</title><link>https://sourceforge.net/p/foxgui/patches/14/?limit=25#5058</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch is for FOX 1.7.81.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 04 Dec 2022 15:37:21 -0000</pubDate><guid>https://sourceforge.net06e15d1882467ee1256b0f8b4f0fee1806f370c1</guid></item><item><title>Consistently use '_WIN32' macro, never 'WIN32'</title><link>https://sourceforge.net/p/foxgui/patches/14/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;This patch replaces every reference to the 'WIN32' macro with a reference to the '_WIN32' macro. Previously, both WIN32 and _WIN32 were used. _WIN32 is always defined by MSVC itself, unlike WIN32.&lt;/p&gt;
&lt;p&gt;This change obviates the need for the Windows build configuration to define the WIN32 macro.&lt;/p&gt;
&lt;p&gt;See also:&lt;br/&gt;
&lt;a href="https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros" rel="nofollow"&gt;https://learn.microsoft.com/en-us/cpp/preprocessor/predefined-macros&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 04 Dec 2022 15:02:30 -0000</pubDate><guid>https://sourceforge.net960e20d00e9a99fc63556be52b847eba119441b4</guid></item><item><title>#12 Windows Build Fixes re. Atomics</title><link>https://sourceforge.net/p/foxgui/patches/12/?limit=25#26b0</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Inapplicable as of FOX 1.7.81 which includes a similar change, but uses '_InterlockedExchangeAdd64' rather than  '_InlineInterlockedAdd64'. &lt;span&gt;[0]&lt;/span&gt; &lt;span&gt;[1]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;[0]&lt;/span&gt; &lt;a href="https://learn.microsoft.com/en-us/cpp/intrinsics/interlockedexchangeadd-intrinsic-functions" rel="nofollow"&gt;https://learn.microsoft.com/en-us/cpp/intrinsics/interlockedexchangeadd-intrinsic-functions&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;[1]&lt;/span&gt; &lt;a href="https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-interlockedexchangeadd64" rel="nofollow"&gt;https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-interlockedexchangeadd64&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 20 Nov 2022 17:53:08 -0000</pubDate><guid>https://sourceforge.netb5cfacd8d945fa5bd221ada99248590f2ef6a8c3</guid></item><item><title>Conditionally suppress mouse-movement propagation</title><link>https://sourceforge.net/p/foxgui/patches/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;(For FOX 1.7.80.)&lt;/p&gt;
&lt;p&gt;In most GUI toolkits, if a modal window is shown, then if the user should mouse-over widgets of background windows (i.e. windows other than the modal one) then those widgets will not visually 'pop' as they usually would. (FXMenuTitle widgets are a good example.) Currently, FOX does not behave this way, and those widgets 'pop' as usual.&lt;br/&gt;
I had a go at bringing FOX into line with other toolkits in this regard.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Testing&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I've tested my changes on Windows and on Kubuntu by:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Launch Adie&lt;/li&gt;
&lt;li&gt;Hover mouse of FXMenuTitle widgets of the main Adie window, ensuring normal response (they should visually 'pop' when hovered over)&lt;/li&gt;
&lt;li&gt;Bring up the About dialog (&lt;em&gt;Help&lt;/em&gt; &amp;gt; &lt;em&gt;About Adie...&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Hover the mouse over the FXMenuTitle widgets of the main Adie window&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Expected outcome of Stage 4, prior to changes: the FXMenuTitle widgets 'pop' when hovered over.&lt;/p&gt;
&lt;p&gt;Expected outcome of Stage 4, after applying changes: the FXMenuTitle widgets will not respond when hovered over.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 13 Nov 2022 21:54:14 -0000</pubDate><guid>https://sourceforge.net51659d220cb03cde8873db40a6dce3cdedc0df2c</guid></item><item><title>Windows Build Fixes re. Atomics</title><link>https://sourceforge.net/p/foxgui/patches/12/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm using Windows 10 on x86-64, with Visual Studio Community 2019 version 16.11.15, targeting 64-bit builds.&lt;/p&gt;
&lt;p&gt;I had trouble building FOX on Windows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;fox-1.7.80\lib\FXAtomic.cpp(268,10): error C3861: '_InterlockedAdd64': identifier not found
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The fix was to replace these calls with calls to '_InlineInterlockedAdd64', following &lt;a class="" href="https://learn.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-_inlineinterlockedadd64" rel="nofollow"&gt;Microsoft documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;('InterlockedAdd64' also seemed to work, but unlike 'InlineInterlockedAdd64' it doesn't appear to be documented. Curiously I wasn't able to get 'InterlockedAdd' to resolve even if I &lt;code&gt;#include &amp;lt;intrin.h&amp;gt;&lt;/code&gt;, per &lt;a class="" href="https://learn.microsoft.com/en-us/cpp/intrinsics/interlockedadd-intrinsic-functions" rel="nofollow"&gt;further Microsoft documentation&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;I've not tested the atomics functionality after my change, I can only confirm that the build succeeds.&lt;br/&gt;
Also, I've not tested on any other Windows development environments, e.g. different version of Visual Studio.&lt;br/&gt;
I've also not tested 32-bit, I've not been able to get it to build (seemingly many different problems at play).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Max Barraclough</dc:creator><pubDate>Sun, 13 Nov 2022 21:26:23 -0000</pubDate><guid>https://sourceforge.netd9e434b44778adaa284e54c16c5fa8bebe44910b</guid></item><item><title>FIONREAD patch for OpenIndiana Hipster</title><link>https://sourceforge.net/p/foxgui/patches/11/</link><description>&lt;div class="markdown_content"&gt;&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="gd"&gt;--- fox-1.6.57/src/FXGUISignal.cpp.~1~  Tue Apr  3 23:42:42 2018&lt;/span&gt;
&lt;span class="gi"&gt;+++ fox-1.6.57/src/FXGUISignal.cpp  Sat Jul 14 23:02:52 2018&lt;/span&gt;
&lt;span class="gu"&gt;@@ -45,6 +45,10 @@&lt;/span&gt;
 #endif
 #include "FXGUISignal.h"

&lt;span class="gi"&gt;+#ifdef __sun__&lt;/span&gt;
&lt;span class="gi"&gt;+   #include &amp;lt;sys/filio.h&amp;gt;      /* For FIONREAD */&lt;/span&gt;
&lt;span class="gi"&gt;+#endif&lt;/span&gt;
&lt;span class="gi"&gt;+&lt;/span&gt;
 /*
   Notes:
   - On UNIX, pipe will be closed on exec of child process; we don't want
&lt;/pre&gt;&lt;/div&gt;

&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jason Martin</dc:creator><pubDate>Mon, 01 Oct 2018 02:59:24 -0000</pubDate><guid>https://sourceforge.net6ca1f7a9f15f6049be3c8d9ddc031f1c69f001e6</guid></item><item><title>renaming enum FXFont::X11 to RawX11</title><link>https://sourceforge.net/p/foxgui/patches/10/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Renames X11 enum to RawX11, due to a macro conflict&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anders F Björklund</dc:creator><pubDate>Wed, 16 May 2007 13:43:38 -0000</pubDate><guid>https://sourceforge.net8a8fcdff4270ed124256330521e736a1e5e888b8</guid></item><item><title>workaround for Mach system header</title><link>https://sourceforge.net/p/foxgui/patches/9/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;enum POLICY_FIFO conflicts with a Mac OS X macro&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anders F Björklund</dc:creator><pubDate>Wed, 16 May 2007 13:42:11 -0000</pubDate><guid>https://sourceforge.net216242b3cda3dabbe04f6b7b532f8d2730d5fec4</guid></item><item><title>Universal Binary endianness</title><link>https://sourceforge.net/p/foxgui/patches/8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The current fxver.h hardcodes the endianness to what the build system is using for the current target platform.&lt;/p&gt;
&lt;p&gt;This doesn't work with Universal Binaries, that use the same header for two architectures (PowerPC and Intel).&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anders F Björklund</dc:creator><pubDate>Wed, 16 May 2007 07:38:18 -0000</pubDate><guid>https://sourceforge.net9e8bca8b0b648d456311814eb52ab869a4b3ff82</guid></item></channel></rss>