[Git][wxwidgets/wxwidgets][master] 10 commits: Fix active tab index value saved in AUI layout

2 views
Skip to first unread message

Vadim Zeitlin (@_VZ_)

unread,
Jun 15, 2026, 7:09:14 PM (10 days ago) Jun 15
to wx-commi...@googlegroups.com


Vadim Zeitlin pushed to branch master at wxWidgets / wxWidgets


Commits:
0af78f68 by Vadim Zeitlin at 2026-06-15T00:37:18+02:00
Fix active tab index value saved in AUI layout

This value must be the page index, independent of the page current
position in its tab control, but we saved the page position instead.
Get the active page position in the "m_tabs" pseudo tab control which
always stores pages in their addition order to fix this.

- - - - -
4df35f24 by Steve Cornett at 2026-06-15T11:41:22-07:00
Preserve wxStaticText custom colours upon dark mode switch

- - - - -
f8363719 by Steve Cornett at 2026-06-15T11:41:53-07:00
Preserve wxNotebook custom colours upon dark mode switch

- - - - -
920b428a by Steve Cornett at 2026-06-15T12:59:20-07:00
Remove MSWSetDarkOrLightMode()

- - - - -
4eb22403 by Blake-Madden at 2026-06-16T00:02:56+02:00
Remove plugin interface from test_drawing

This was never used and doesn't seem like it ever will be.

Closes #26568.

- - - - -
a66bf5d8 by Maarten Bent at 2026-06-16T00:04:01+02:00
Disable MinGW thread local workaround in wxTranslations

This has been fixed in MSYS2 MinGW.

Fixes #26195.

Closes #26587.

- - - - -
192eb68e by songjin at 2026-06-16T00:06:55+02:00
Clarify RequestUserAttention() behaviour under wxGTK

Document that this function may not have any effect even though it is
implemented because it also requires run-time support.

Closes #26593.

Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>

- - - - -
0b6e531b by Steve Cornett at 2026-06-16T00:25:03+02:00
Remove wxDialogBase::OnSysColourChanged()

This function became unreferenced in 2158f4d798 (moved all wxDialog
event handlers to wxDialogBase to avoid code duplication (sixplication?)
among ports[...], 2006-08-19).

Closes #26594.

- - - - -
753de29c by Vadim Zeitlin at 2026-06-16T00:29:38+02:00
Merge branch 'darkmode-custom-colour' of github.com:stevecor/wxWidgets

Preserve custom colours upon dark mode switch.

Also remove wxStaticText::MSWSetDarkOrLightMode() as it appears to be
unnecessary.

See #26596.

- - - - -
788b4581 by dxbjavid at 2026-06-16T00:34:15+02:00
Avoid uninitialised palette read in wxXPMDecoder::ReadData()

This function allocates the palette r/g/b arrays from the colour count
given in the XPM header but fills them by walking the colour map, so a
malformed file that reuses the same key on more than one colour line
collapses those lines into a single map entry and leaves the tail of the
arrays uninitialised. wxPalette() then copies that uninitialised memory
into the palette later returned by GetPalette(), and in debug builds the
wxASSERT(i == colors_cnt) at the end fires.

Use the actual number of distinct colours in the map as the size for
the arrays and the palette to fix this.

Also add a test loading an XPM triggering this issue.

Closes #26595.

- - - - -


21 changed files:

- build/cmake/tests/drawing/CMakeLists.txt
- include/wx/dialog.h
- include/wx/msw/stattext.h
- interface/wx/toplevel.h
- src/aui/auibook.cpp
- src/common/dlgcmn.cpp
- src/common/translation.cpp
- src/common/xpmdecod.cpp
- src/msw/notebook.cpp
- src/msw/stattext.cpp
- tests/Makefile.in
- tests/drawing/drawing.cpp
- tests/drawing/drawing.h
- − tests/drawing/gcfactory.h
- − tests/drawing/plugin.h
- − tests/drawing/plugindriver.cpp
- − tests/drawing/pluginsample.cpp
- tests/image/image.cpp
- tests/makefile.gcc
- tests/makefile.vc
- tests/test.bkl


Changes:

=====================================
build/cmake/tests/drawing/CMakeLists.txt
=====================================
@@ -17,7 +17,6 @@ set(TEST_DRAWING_SRC
test.cpp
testableframe.cpp
drawing/drawing.cpp
- drawing/plugindriver.cpp
drawing/basictest.cpp
drawing/fonttest.cpp

@@ -25,9 +24,6 @@ set(TEST_DRAWING_SRC
testableframe.h
testimage.h
drawing/drawing.h
- drawing/gcfactory.h
- drawing/plugin.h
- drawing/pluginsample.cpp
drawing/testimagefile.h
)

@@ -43,11 +39,3 @@ wx_add_test(test_drawing CONSOLE_GUI ${TEST_DRAWING_SRC}
if(wxUSE_SOCKETS)
wx_exe_link_libraries(test_drawing wxnet)
endif()
-
-# This is a sample plugin, it simply uses a wxImage based
-# wxGraphicsContext. It should render the same as the built-in test. Use
-# the WX_TEST_SUITE_GC_DRAWING_PLUGINS variable to specify the location of
-# the produced DLL/so to get it loaded and tested. To make your own plugin,
-# you can copy this sample and link toward your own implementation of
-# wxGraphicsContext interface, building the appropriate DrawingTestGCFactory
-# TODO: test_drawingplugin


=====================================
include/wx/dialog.h
=====================================
@@ -284,9 +284,6 @@ private:
// handle the standard buttons
void OnButton(wxCommandEvent& event);

- // update the background colour
- void OnSysColourChanged(wxSysColourChangedEvent& event);
-

wxDECLARE_NO_COPY_CLASS(wxDialogBase);
wxDECLARE_EVENT_TABLE();


=====================================
include/wx/msw/stattext.h
=====================================
@@ -57,8 +57,6 @@ protected:
WXWPARAM wParam,
WXLPARAM lParam) override;

- virtual void MSWSetDarkOrLightMode(SetMode setmode) override;
-
virtual wxString WXGetVisibleLabel() const override;
virtual void WXSetVisibleLabel(const wxString& str) override;



=====================================
interface/wx/toplevel.h
=====================================
@@ -384,10 +384,11 @@ public:
@note This function should normally be only used when the application
is not already in foreground.

- This function is currently implemented for Win32 where it flashes
- the window icon in the taskbar, and for wxGTK with task bars
- supporting it.
-
+ This function is currently implemented under Windows where it flashes
+ the window icon in the taskbar, and in wxGTK, but its behaviour there
+ depends on support from the desktop environment or window manager: if
+ the current environment does not support window urgency hints, calling
+ this function has no visible effect.
*/
virtual void RequestUserAttention(int flags = wxUSER_ATTENTION_INFO);



=====================================
src/aui/auibook.cpp
=====================================
@@ -4223,7 +4223,9 @@ wxAuiNotebook::SaveLayout(const wxString& name,
const wxAuiTabCtrl* const
tabCtrl = static_cast<wxAuiTabFrame*>(pane.window)->m_tabs;

- tab.active = tabCtrl->GetActivePage();
+ auto* const activePage =
+ tabCtrl->GetWindowFromIdx(tabCtrl->GetActivePage());
+ tab.active = m_tabs.GetIdxFromWindow(activePage);

// As an optimization, don't bother with saving the pages order for the
// main control if it hasn't been changed from the default.


=====================================
src/common/dlgcmn.cpp
=====================================
@@ -558,16 +558,6 @@ void wxDialogBase::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
closing.DeleteObject(this);
}

-void wxDialogBase::OnSysColourChanged(wxSysColourChangedEvent& event)
-{
-#ifndef __WXGTK__
- SetBackgroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_3DFACE));
- Refresh();
-#endif
-
- event.Skip();
-}
-
/// Do the adaptation
bool wxDialogBase::DoLayoutAdaptation()
{


=====================================
src/common/translation.cpp
=====================================
@@ -1472,8 +1472,14 @@ using UntranslatedStrings = std::unordered_set<wxString>;
in global variables outside of this class and only relying on the dtor to
be executed when any thread (not necessarily created by wxWidgets) exits to
ensure that we always perform the required cleanup.
+
+ thread_local seems to work correctly in MSYS2 MinGW as of May 2026,
+ see https://www.msys2.org/news/#2026-05-11-native-thread-local-storage-tls-with-gcc-16
+ Around that same time the major version was incremented to 15, so use that
+ to check if thread_local can be used.
*/
-#ifdef __MINGW32__
+#if defined(__MINGW32__) && \
+ (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 15)

class UntranslatedStringHolder
{


=====================================
src/common/xpmdecod.cpp
=====================================
@@ -819,9 +819,15 @@ wxImage wxXPMDecoder::ReadData(const char* const* xpm_data)
}
}
#if wxUSE_PALETTE
- unsigned char* r = new unsigned char[colors_cnt];
- unsigned char* g = new unsigned char[colors_cnt];
- unsigned char* b = new unsigned char[colors_cnt];
+ // The header colour count can be larger than the number of entries
+ // actually in the map if a malformed XPM reuses the same key on several
+ // colour lines, as the map then collapses them into a single entry. Build
+ // the palette from the real number of distinct colours so we don't read
+ // past the part of the arrays we filled in below.
+ const size_t palette_cnt = clr_tbl.size();
+ unsigned char* r = new unsigned char[palette_cnt];
+ unsigned char* g = new unsigned char[palette_cnt];
+ unsigned char* b = new unsigned char[palette_cnt];

for (it = clr_tbl.begin(), i = 0; it != clr_tbl.end(); ++it, ++i)
{
@@ -829,8 +835,8 @@ wxImage wxXPMDecoder::ReadData(const char* const* xpm_data)
g[i] = it->second.G;
b[i] = it->second.B;
}
- wxASSERT(i == colors_cnt);
- img.SetPalette(wxPalette(colors_cnt, r, g, b));
+ wxASSERT(i == palette_cnt);
+ img.SetPalette(wxPalette(palette_cnt, r, g, b));
delete[] r;
delete[] g;
delete[] b;


=====================================
src/msw/notebook.cpp
=====================================
@@ -271,8 +271,9 @@ void wxNotebook::MSWSetDarkOrLightMode(SetMode setmode)
{
wxNotebookBase::MSWSetDarkOrLightMode(setmode);

- // Background must always be set.
- SetBackgroundColour(GetDefaultAttributes().colBg);
+ // Background must always be set, unless there is a custom colour.
+ if ( !m_hasBgCol )
+ m_backgroundColour = GetDefaultAttributes().colBg;
}

int wxNotebook::MSWGetToolTipMessage() const
@@ -1344,14 +1345,6 @@ void wxNotebook::MSWNotebookPaint()

void wxNotebook::OnPaint(wxPaintEvent& event)
{
- // We can rely on the default implementation if we don't have a custom
- // background colour (note that it is always set when using dark mode).
- if ( !m_hasBgCol )
- {
- event.Skip();
- return;
- }
-
if ( wxMSWDarkMode::IsActive() )
{
// We can't use default painting in dark mode, it just doesn't work
@@ -1360,6 +1353,14 @@ void wxNotebook::OnPaint(wxPaintEvent& event)
return;
}

+ // We can rely on the default implementation if we don't have a custom
+ // background colour.
+ if ( !m_hasBgCol )
+ {
+ event.Skip();
+ return;
+ }
+
wxPaintDC dc(this);

RECT rc;


=====================================
src/msw/stattext.cpp
=====================================
@@ -214,16 +214,6 @@ wxStaticText::MSWHandleMessage(WXLRESULT *result,
return false;
}

-void wxStaticText::MSWSetDarkOrLightMode(SetMode setmode)
-{
- wxStaticTextBase::MSWSetDarkOrLightMode(setmode);
-
- // When switching to light mode, the text color remains the same. We must
- // explicitly update the color.
- if ( setmode == SetMode::Change )
- SetForegroundColour(GetDefaultAttributes().colFg);
-}
-
void wxStaticText::SetLabel(const wxString& label)
{
// If the label doesn't really change, avoid flicker by not doing anything.


=====================================
tests/Makefile.in
=====================================
@@ -158,17 +158,10 @@ TEST_DRAWING_OBJECTS = \
$(__test_drawing___win32rc) \
test_drawing_test.o \
test_drawing_drawing.o \
- test_drawing_plugindriver.o \
test_drawing_basictest.o \
test_drawing_fonttest.o
TEST_DRAWING_ODEP = \
$(_____pch_testprec_test_drawing_testprec_h_gch___depname)
-TEST_DRAWINGPLUGIN_CXXFLAGS = $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ \
- $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
- $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) $(__DLLFLAG_p) $(PIC_FLAG) \
- $(WX_CXXFLAGS) $(CPPFLAGS) $(CXXFLAGS)
-TEST_DRAWINGPLUGIN_OBJECTS = \
- test_drawingplugin_pluginsample.o
TEST_GUI_CXXFLAGS = $(__test_gui_PCH_INC) $(WX_CPPFLAGS) -D__WX$(TOOLKIT)__ \
$(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \
$(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) -I$(srcdir) $(__DLLFLAG_p) \
@@ -335,9 +328,6 @@ TEST_ALLHEADERS_ODEP = \
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p \
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
-@COND_SHARED_1_USE_GUI_1@__test_drawingplugin___depname \
-@COND_SHARED_1_USE_GUI_1@ = \
-@COND_SHARED_1_USE_GUI_1@ $(DLLPREFIX_MODULE)test_drawingplugin.$(SO_SUFFIX_MODULE)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_SCINTILLA_IF_MONO_p_1 \
@COND_MONOLITHIC_1_USE_STC_1@ = $(__LIB_SCINTILLA_p)
@COND_MONOLITHIC_1_USE_STC_1@__LIB_LEXILLA_IF_MONO_p_1 = $(__LIB_LEXILLA_p)
@@ -479,7 +469,7 @@ COND_MONOLITHIC_1___WXLIB_MONO_p = \

### Targets: ###

-all: test$(EXEEXT) $(__test_drawing___depname) $(__test_drawingplugin___depname) $(__test_gui___depname) $(__test_gui_bundle___depname) $(__test_allheaders___depname) $(__test_allheaders_bundle___depname) data data-image-sample data-images en_GB fr ja xart-dothraki
+all: test$(EXEEXT) $(__test_drawing___depname) $(__test_gui___depname) $(__test_gui_bundle___depname) $(__test_allheaders___depname) $(__test_allheaders_bundle___depname) data data-image-sample data-images en_GB fr ja xart-dothraki

install:

@@ -492,7 +482,6 @@ clean:
rm -f ./*.o
rm -f test$(EXEEXT)
rm -f test_drawing$(EXEEXT)
- rm -f $(DLLPREFIX_MODULE)test_drawingplugin.$(SO_SUFFIX_MODULE)
rm -f test_gui$(EXEEXT)
rm -rf test_gui.app
rm -f test_allheaders$(EXEEXT)
@@ -513,9 +502,6 @@ test$(EXEEXT): $(TEST_OBJECTS) $(__test___win32rc)
@COND_USE_PCH_1@./.pch/testprec_test_drawing/testprec.h.gch:
@COND_USE_PCH_1@ $(BK_MAKE_PCH) ./.pch/testprec_test_drawing/testprec.h.gch testprec.h $(CXX) $(TEST_DRAWING_CXXFLAGS)

-@COND_SHARED_1_USE_GUI_1@$(DLLPREFIX_MODULE)test_drawingplugin.$(SO_SUFFIX_MODULE): $(TEST_DRAWINGPLUGIN_OBJECTS)
-@COND_SHARED_1_USE_GUI_1@ $(SHARED_LD_MODULE_CXX) $@ $(TEST_DRAWINGPLUGIN_OBJECTS) -L$(LIBDIRNAME) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p_1) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(__LIB_LUNASVG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)
-
@COND_USE_GUI_1@test_gui$(EXEEXT): $(TEST_GUI_OBJECTS) $(__test_gui___win32rc)
@COND_USE_GUI_1@ $(CXX) -o $@ $(TEST_GUI_OBJECTS) -L$(LIBDIRNAME) $(DYLIB_RPATH_FLAG) $(LDFLAGS) $(WX_LDFLAGS) $(__WXLIB_WEBVIEW_p) $(EXTRALIBS_WEBVIEW) $(__WXLIB_STC_p) $(EXTRALIBS_STC) $(__WXLIB_AUI_p) $(__WXLIB_RICHTEXT_p) $(__WXLIB_MEDIA_p) $(EXTRALIBS_MEDIA) $(__WXLIB_XRC_p) $(__WXLIB_XML_p) $(EXTRALIBS_XML) $(__WXLIB_HTML_p) $(EXTRALIBS_HTML) $(__WXLIB_PROPGRID_p) $(__WXLIB_CORE_p) $(__WXLIB_NET_p) $(__WXLIB_BASE_p) $(__LIB_SCINTILLA_p) $(__LIB_LEXILLA_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p_2) $(__LIB_LEXILLA_IF_MONO_p_2) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(__LIB_LUNASVG_p) $(EXTRALIBS_FOR_GUI) $(__LIB_ZLIB_p) $(__LIB_REGEX_p) $(__LIB_EXPAT_p) $(EXTRALIBS_FOR_BASE) $(LIBS)

@@ -937,18 +923,12 @@ test_drawing_test.o: $(srcdir)/test.cpp $(TEST_DRAWING_ODEP)
test_drawing_drawing.o: $(srcdir)/drawing/drawing.cpp $(TEST_DRAWING_ODEP)
$(CXXC) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(srcdir)/drawing/drawing.cpp

-test_drawing_plugindriver.o: $(srcdir)/drawing/plugindriver.cpp $(TEST_DRAWING_ODEP)
- $(CXXC) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(srcdir)/drawing/plugindriver.cpp
-
test_drawing_basictest.o: $(srcdir)/drawing/basictest.cpp $(TEST_DRAWING_ODEP)
$(CXXC) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(srcdir)/drawing/basictest.cpp

test_drawing_fonttest.o: $(srcdir)/drawing/fonttest.cpp $(TEST_DRAWING_ODEP)
$(CXXC) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(srcdir)/drawing/fonttest.cpp

-test_drawingplugin_pluginsample.o: $(srcdir)/drawing/pluginsample.cpp
- $(CXXC) -c -o $@ $(TEST_DRAWINGPLUGIN_CXXFLAGS) $(srcdir)/drawing/pluginsample.cpp
-
test_gui_test_rc.o: $(srcdir)/../tests/test.rc $(TEST_GUI_ODEP)
$(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_10) $(__DEBUG_DEFINE_p_10) $(__EXCEPTIONS_DEFINE_p_10) $(__RTTI_DEFINE_p_10) $(__THREAD_DEFINE_p_10) --include-dir $(srcdir) $(__DLLFLAG_p_10) $(__WIN32_DPI_MANIFEST_p) --include-dir $(srcdir)/../samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include --include-dir $(top_srcdir)/samples $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include



=====================================
tests/drawing/drawing.cpp
=====================================
@@ -40,10 +40,6 @@
// wxGraphicsContext and a way to create, dispose of and save it so that it is
// possible to compare it with a reference file

-// A plugin system is implemented to let developers of contributed libraries
-// test their library without the need to impact the test system and its
-// dependencies. See RunPluginsDrawingCase.
-
// The crossing of drawing case and life cycles is implemented by
// RunIndividualDrawingCase

@@ -75,10 +71,6 @@
// Once this is done duplicate all the CPP UNIT test functions
// and entries "DrawToImage_YYY" to your new GC "DrawTo<newGc>_YYYY"
//
-// - if it is not built-in (contributed library/wxCode...), make a plugin for it
-// test.bkl contains a sample "test_drawingplugin" target, you can use
-// drawingplgsample.cpp as a start, see RunPluginsDrawingCase declaration
-// for information about how to run the tests

wxString GraphicsContextDrawingTestCase::ms_referenceDirectory;
bool GraphicsContextDrawingTestCase::ms_buildReference;


=====================================
tests/drawing/drawing.h
=====================================
@@ -9,23 +9,44 @@
#ifndef _WX_TESTS_DRAWING_H_
#define _WX_TESTS_DRAWING_H_

-#include "gcfactory.h"
+// wxCairoRenderer::CreateMeasuringContext() is not implemented for wxX11
+#if wxUSE_GRAPHICS_CONTEXT && !defined(__WXX11__)
+ #define wxUSE_TEST_GC_DRAWING 1
+#else
+ #define wxUSE_TEST_GC_DRAWING 0
+#endif

#if wxUSE_TEST_GC_DRAWING

+#include "wx/filename.h"
+#include "wx/graphics.h"
#include "wx/math.h"

#if wxUSE_SVG
#include "wx/dcsvg.h"
#endif

-class WXDLLIMPEXP_FWD_BASE wxDynamicLibrary;
+// Implement a class derived from this one to let the drawing test create
+// graphics context, save them and destroy them.
+class DrawingTestGCFactory
+{
+public:
+ virtual ~DrawingTestGCFactory() {}
+
+ virtual wxString GetIdForFileName () const = 0;
+ virtual wxString GetExtensionForFileName () const = 0;
+ virtual bool UseImageComparison() const = 0;
+ virtual bool PlatformIndependent() const = 0;
+ virtual wxGraphicsContext *BuildNewContext (wxSize expectedSize,
+ double pointsPerInch, const wxFileName &targetFileName) = 0;
+ virtual void SaveBuiltContext (wxGraphicsContext *&gc) = 0;
+ virtual void CleanUp (wxGraphicsContext *gc) = 0;
+};

class GraphicsContextDrawingTestCase : public CppUnit::TestCase
{
public:
GraphicsContextDrawingTestCase()
- : m_drawingPluginsLoaded(false)
{
wxImage::AddHandler (new wxPNGHandler());
wxImage::AddHandler (new wxBMPHandler());
@@ -44,8 +65,6 @@ private:
#if wxUSE_SVG
// CPPUNIT_TEST( DrawToSVG_Basics );
#endif
- CPPUNIT_TEST( DrawToPlugins_Basics );
-
// FIXME: Reference data files are currently not found when using Unix
// build system, so these tests are failing there, fix this and remove
// this ifdef.
@@ -54,7 +73,6 @@ private:
#if wxUSE_SVG
// CPPUNIT_TEST( DrawToSVG_Fonts );
#endif
- CPPUNIT_TEST( DrawToPlugins_Fonts );
#endif // __WINDOWS__
CPPUNIT_TEST_SUITE_END();

@@ -122,15 +140,6 @@ private:
DrawingTestGCFactory& gcFactory,
const DrawingTestCase & testCase);

- // enumerates the dll names as specified in WX_TEST_SUITE_GC_DRAWING_PLUGINS
- // (coma separated list of DLL to load and test)
- // each DLL should have these procedures:
- // - DrawingTestGCFactory* CreateDrawingTestLifeCycle(),
- // to create the life cycle object
- // - DestroyDrawingTestLifeCycle(DrawingTestGCFactory *),
- // to destroy the life cycle object
- void RunPluginsDrawingCase (const DrawingTestCase & testCase);
-
void DrawToImage_Basics() {
RunIndividualDrawingCase (ms_imageLifeCycle, ms_drawingBasicTc);
}
@@ -139,9 +148,6 @@ private:
RunIndividualDrawingCase (ms_svgLifeCycle, ms_drawingBasicTc);
}
#endif
- void DrawToPlugins_Basics() {
- RunPluginsDrawingCase (ms_drawingBasicTc);
- }
void DrawToImage_Fonts() {
RunIndividualDrawingCase (ms_imageLifeCycle, ms_drawingFontTc);
}
@@ -150,9 +156,6 @@ private:
RunIndividualDrawingCase (ms_svgLifeCycle, ms_drawingFontTc);
}
#endif
- void DrawToPlugins_Fonts() {
- RunPluginsDrawingCase (ms_drawingFontTc);
- }

bool GetBuildReference() const;

@@ -162,19 +165,6 @@ private:

static wxString ms_referenceDirectory;
static bool ms_buildReference, ms_buildReferenceDetermined;
- bool m_drawingPluginsLoaded;
-
- struct PluginInfo {
- PluginInfo();
- ~PluginInfo();
-
- wxDynamicLibrary* library;
-
- DrawingTestGCFactory *gcFactory;
- DestroyDrawingTestLifeCycleFunction destroy;
- };
-
- wxVector<PluginInfo> m_drawingPlugins;

wxDECLARE_NO_COPY_CLASS(GraphicsContextDrawingTestCase);
};


=====================================
tests/drawing/gcfactory.h deleted
=====================================
@@ -1,71 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// Name: tests/drawing/gcfactory.h
-// Purpose: Interface of a factory to create and destroy a wxGraphicsContext
-// and finally save the result of a rendering test
-// Author: Armel Asselin
-// Created: 2014-02-26
-// Copyright: (c) 2014 Ellié Computing <opens...@elliecomputing.com>
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WX_TESTS_GCFACTORY_H_
-#define _WX_TESTS_GCFACTORY_H_
-
-// wxCairoRenderer::CreateMeasuringContext() is not implement for wxX11
-#if wxUSE_GRAPHICS_CONTEXT && !defined(__WXX11__)
- #include "wx/graphics.h"
- #define wxUSE_TEST_GC_DRAWING 1
-#else
- #define wxUSE_TEST_GC_DRAWING 0
-#endif
-
-#if wxUSE_TEST_GC_DRAWING
-
-#include "wx/filename.h"
-
-class WXDLLIMPEXP_FWD_CORE wxGraphicsContext;
-
-// Implement a class derived from this one to let the drawing test create
-// graphics context, save them and destroy them.
-class DrawingTestGCFactory
-{
-public:
- virtual ~DrawingTestGCFactory() {}
-
- // This identifier is used in the test and reference files to distinguish
- // results produced by wxGraphicsContext generated by this factory
- // use only lower case latin letters, '_' and '-'
- virtual wxString GetIdForFileName () const = 0;
-
- // This is the extension used when saving test and reference files
- virtual wxString GetExtensionForFileName () const = 0;
-
- // Returns true if a pixel per pixel comparison of rendered image should
- // be used rather than a byte by byte comparison of files
- virtual bool UseImageComparison() const = 0;
-
- // Returns true this target is platform independent, rendering exactly
- // the same result for whichever platform
- virtual bool PlatformIndependent() const = 0;
-
- // Builds a new context of @c expected_size, expecting to save it as
- // @c target_file_name
- // NB: only one context is created as a time, so that the implementer
- // can keep internal state if necessary
- virtual wxGraphicsContext *BuildNewContext (wxSize expectedSize,
- double pointsPerInch, const wxFileName &targetFileName) = 0;
-
- // Let's the opportunity to actually save the context and associated data
- // If saving requires deleting the wxGraphicsContext object the
- // implementer is free to do it but @c gc must then be nulled
- virtual void SaveBuiltContext (wxGraphicsContext *&gc) = 0;
-
- // Cleans @c gc and internal data if any
- virtual void CleanUp (wxGraphicsContext *gc) = 0;
-};
-
-typedef DrawingTestGCFactory * (*CreateDrawingTestLifeCycleFunction)();
-typedef void (*DestroyDrawingTestLifeCycleFunction) (DrawingTestGCFactory* lc);
-
-#endif // wxUSE_TEST_GC_DRAWING
-
-#endif // #ifndef _WX_TESTS_GCFACTORY_H_


=====================================
tests/drawing/plugin.h deleted
=====================================
@@ -1,21 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// Name: tests/drawing/plugin.h
-// Purpose: Defines the functions needed to implement a drawing test plugin
-// Author: Armel Asselin
-// Created: 2014-02-2
-// Copyright: (c) 2014 Ell8ié Computing <opens...@elliecomputing.com>
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _WX_TESTS_DRAWINGPLG_H_
-#define _WX_TESTS_DRAWINGPLG_H_
-
-#include "gcfactory.h"
-
-#if wxUSE_TEST_GC_DRAWING
-
-extern "C" WXEXPORT DrawingTestGCFactory * CreateDrawingTestLifeCycle();
-extern "C" WXEXPORT void DestroyDrawingTestLifeCycle (DrawingTestGCFactory* lc);
-
-#endif // wxUSE_TEST_GC_DRAWING
-
-#endif // #ifndef _WX_TESTS_DRAWINGPLG_H_


=====================================
tests/drawing/plugindriver.cpp deleted
=====================================
@@ -1,96 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// Name: tests/drawing/plugindriver.cpp
-// Purpose: Plugin management for the drawing tests
-// Author: Armel Asselin
-// Created: 2014-02-28
-// Copyright: (c) 2014 Ellié Computing <opens...@elliecomputing.com>
-///////////////////////////////////////////////////////////////////////////////
-
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-
-#include "testprec.h"
-
-#ifndef WX_PRECOMP
- #include "wx/log.h"
-#endif // WX_PRECOMP
-
-#include "drawing.h"
-
-#if wxUSE_TEST_GC_DRAWING
-#include "wx/dynlib.h"
-
-void GraphicsContextDrawingTestCase::RunPluginsDrawingCase (
- const DrawingTestCase & testCase)
-{
- if (!m_drawingPluginsLoaded)
- {
- m_drawingPluginsLoaded = true;
-
- wxString pluginsListStr;
- if (!wxGetEnv ("WX_TEST_SUITE_GC_DRAWING_PLUGINS", &pluginsListStr))
- return; // no plugins
-
- wxArrayString pluginsNameArray = wxSplit (pluginsListStr, ',', '\0');
- m_drawingPlugins.resize (pluginsNameArray.size());
-
- for (size_t idx=0; idx<pluginsNameArray.size(); ++idx)
- {
- PluginInfo &pluginBeingLoaded = m_drawingPlugins[idx];
- pluginBeingLoaded.library = new wxDynamicLibrary;
- if (!pluginBeingLoaded.library->Load (pluginsNameArray[idx]))
- {
- wxLogFatalError("could not load drawing plugin %s",
- pluginsNameArray[idx]);
- return;
- }
-
- wxDYNLIB_FUNCTION(CreateDrawingTestLifeCycleFunction,
- CreateDrawingTestLifeCycle, *pluginBeingLoaded.library);
- wxDYNLIB_FUNCTION(DestroyDrawingTestLifeCycleFunction,
- DestroyDrawingTestLifeCycle, *pluginBeingLoaded.library);
-
- if (!pfnCreateDrawingTestLifeCycle ||
- !pfnDestroyDrawingTestLifeCycle)
- {
- wxLogFatalError("could not find function"
- " CreateDrawingTestLifeCycle or "
- "DestroyDrawingTestLifeCycle in %s", pluginsNameArray[idx]);
- return;
- }
-
- pluginBeingLoaded.destroy = pfnDestroyDrawingTestLifeCycle;
- pluginBeingLoaded.gcFactory = (*pfnCreateDrawingTestLifeCycle)();
- if (!pluginBeingLoaded.gcFactory)
- {
- wxLogFatalError("failed to create life-cycle object in %s",
- pluginsNameArray[idx]);
- return;
- }
- }
- }
-
- // now execute the test case for each plugin
- for (size_t idxp=0; idxp<m_drawingPlugins.size(); ++idxp)
- {
- RunIndividualDrawingCase (*m_drawingPlugins[idxp].gcFactory, testCase);
- }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// GraphicsContextDrawingTestCase::PluginInfo /////////////////////////////////
-
-GraphicsContextDrawingTestCase::PluginInfo::PluginInfo()
- : library(nullptr), gcFactory(nullptr), destroy(nullptr) {
-}
-
-GraphicsContextDrawingTestCase::PluginInfo::~PluginInfo()
-{
- if (destroy && gcFactory)
- (*destroy)(gcFactory);
-
- delete library;
-}
-
-#endif // wxUSE_TEST_GC_DRAWING


=====================================
tests/drawing/pluginsample.cpp deleted
=====================================
@@ -1,84 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-// Name: tests/drawing/pluginsample.cpp
-// Purpose: Sample plugin for the wxGraphicsContext test
-// Author: Armel Asselin
-// Created: 2014-02-21
-// Copyright: (c) 2014 Ellié Computing <opens...@elliecomputing.com>
-///////////////////////////////////////////////////////////////////////////////
-
-#include "wx/wxprec.h"
-
-
-// ----------------------------------------------------------------------------
-// headers
-// ----------------------------------------------------------------------------
-
-#include "plugin.h"
-
-#if wxUSE_TEST_GC_DRAWING
-
-// ----------------------------------------------------------------------------
-// plugin implementation
-// ----------------------------------------------------------------------------
-
-class SampleDrawingTestGCFactory: public DrawingTestGCFactory {
-public:
- SampleDrawingTestGCFactory() {
- wxImage::AddHandler (new wxBMPHandler());
- }
-
- virtual ~SampleDrawingTestGCFactory() {
- }
- virtual wxString GetIdForFileName () const override { return "sample-plg"; }
- virtual wxString GetExtensionForFileName () const override { return "bmp"; }
-
- // Bitmaps are handled by wx code they should be binarily equal
- virtual bool UseImageComparison() const override { return false; }
-
- // We use wxGraphicsContext, its implementation is not platform independent
- // and returns may slightly vary
- virtual bool PlatformIndependent() const override { return false; }
-
- virtual wxGraphicsContext *BuildNewContext (wxSize expectedSize,
- double WXUNUSED(pointsPerInch), const wxFileName &targetFileName) override {
- m_image = new wxImage (expectedSize);
- m_image->InitAlpha();
-
- m_targetFileName = targetFileName.GetFullPath();
-
- // we should probably pass the number of points per inches somewhere...
- // but I don't see where yet...
- return wxGraphicsContext::Create(*m_image);
- }
-
- // Let's the opportunity to actually save the context and associated data
- // If saving requires deleting the wxGraphicsContext object the
- // implementer is free to do it but @c gc must then be nulled
- virtual void SaveBuiltContext (wxGraphicsContext *&gc) override {
- wxDELETE(gc);
-
- m_image->SaveFile (m_targetFileName);
- }
-
- // Cleans @c gc and internal data if any
- virtual void CleanUp (wxGraphicsContext *gc) override {
- delete gc;
- m_targetFileName.Empty();
- wxDELETE(m_image);
- }
-
- wxImage *m_image;
- wxString m_targetFileName;
-};
-
-extern "C" WXEXPORT DrawingTestGCFactory * CreateDrawingTestLifeCycle()
-{
- return new SampleDrawingTestGCFactory;
-}
-
-extern "C" WXEXPORT void DestroyDrawingTestLifeCycle (DrawingTestGCFactory* lc)
-{
- delete lc;
-}
-
-#endif // wxUSE_TEST_GC_DRAWING


=====================================
tests/image/image.cpp
=====================================
@@ -1680,6 +1680,30 @@ TEST_CASE_METHOD(ImageHandlersInit, "wxImage::BadXPMWidthOverflow",
REQUIRE( !img.LoadFile(mis, wxBITMAP_TYPE_XPM) );
}

+TEST_CASE_METHOD(ImageHandlersInit, "wxImage::BadXPMDuplicateColourKey",
+ "[image][xpm][error]")
+{
+ // The colour table declares two colours but reuses the same key on both
+ // lines, so the colour map only ends up with one distinct entry.
+ // wxXPMDecoder::ReadData() sized the palette arrays by the declared colour
+ // count while filling only the entries actually in the map, so the last
+ // palette entry was left uninitialised for wxPalette() to read (and the
+ // wxASSERT() in debug builds fired). The image data itself is valid and
+ // must still load, now with a palette holding only the distinct colour.
+ const std::string xpm = R"(/* XPM */
+"2 1 2 1"
+"a c #ff0000"
+"a c #0000ff"
+"aa"
+)";
+ wxMemoryInputStream mis(xpm.data(), xpm.size());
+ wxImage img;
+ REQUIRE( img.LoadFile(mis, wxBITMAP_TYPE_XPM) );
+#if wxUSE_PALETTE
+ CHECK( img.GetPalette().GetColoursCount() == 1 );
+#endif
+}
+
#endif // wxUSE_XPM

#if wxUSE_IFF


=====================================
tests/makefile.gcc
=====================================
@@ -128,17 +128,8 @@ TEST_DRAWING_OBJECTS = \
$(OBJS)\test_drawing_dummy.o \
$(OBJS)\test_drawing_test.o \
$(OBJS)\test_drawing_drawing.o \
- $(OBJS)\test_drawing_plugindriver.o \
$(OBJS)\test_drawing_basictest.o \
$(OBJS)\test_drawing_fonttest.o
-TEST_DRAWINGPLUGIN_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) \
- $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \
- $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
- $(__THREAD_DEFINE_p) -I$(SETUPHDIR) -I.\..\include \
- $(____CAIRO_INCLUDEDIR_FILENAMES) -W -Wall $(__DLLFLAG_p) $(__RTTIFLAG) \
- $(__EXCEPTIONSFLAG) -Wno-ctor-dtor-privacy $(CPPFLAGS) $(CXXFLAGS)
-TEST_DRAWINGPLUGIN_OBJECTS = \
- $(OBJS)\test_drawingplugin_pluginsample.o
TEST_GUI_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
-D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
$(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
@@ -318,11 +309,6 @@ ifeq ($(USE_STC),1)
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
endif
endif
-ifeq ($(SHARED),1)
-ifeq ($(USE_GUI),1)
-__test_drawingplugin___depname = $(OBJS)\test_drawingplugin.dll
-endif
-endif
ifeq ($(MONOLITHIC),1)
ifeq ($(USE_STC),1)
__LIB_LEXILLA_IF_MONO_p_1 = $(__LIB_LEXILLA_p)
@@ -528,14 +514,13 @@ $(OBJS):

### Targets: ###

-all: $(OBJS)\test.exe $(__test_drawing___depname) $(__test_drawingplugin___depname) $(__test_gui___depname) $(__test_allheaders___depname) data data-image-sample data-images en_GB fr ja xart-dothraki
+all: $(OBJS)\test.exe $(__test_drawing___depname) $(__test_gui___depname) $(__test_allheaders___depname) data data-image-sample data-images en_GB fr ja xart-dothraki

clean:
-if exist $(OBJS)\*.o del $(OBJS)\*.o
-if exist $(OBJS)\*.d del $(OBJS)\*.d
-if exist $(OBJS)\test.exe del $(OBJS)\test.exe
-if exist $(OBJS)\test_drawing.exe del $(OBJS)\test_drawing.exe
- -if exist $(OBJS)\test_drawingplugin.dll del $(OBJS)\test_drawingplugin.dll
-if exist $(OBJS)\test_gui.exe del $(OBJS)\test_gui.exe
-if exist $(OBJS)\test_allheaders.exe del $(OBJS)\test_allheaders.exe

@@ -553,13 +538,6 @@ $(OBJS)\test_drawing.exe: $(TEST_DRAWING_OBJECTS) $(OBJS)\test_drawing_test_rc.o
@-del $@.rsp
endif

-ifeq ($(SHARED),1)
-ifeq ($(USE_GUI),1)
-$(OBJS)\test_drawingplugin.dll: $(TEST_DRAWINGPLUGIN_OBJECTS)
- $(CXX) $(LINK_MODULE_FLAGS) -fPIC -o $@ $(TEST_DRAWINGPLUGIN_OBJECTS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(__LIB_LUNASVG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lgdiplus -lmsimg32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme
-endif
-endif
-
ifeq ($(USE_GUI),1)
$(OBJS)\test_gui.exe: $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_test_rc.o
$(foreach f,$(subst \,/,$(TEST_GUI_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
@@ -880,18 +858,12 @@ $(OBJS)\test_drawing_test.o: ./test.cpp
$(OBJS)\test_drawing_drawing.o: ./drawing/drawing.cpp
$(CXX) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(CPPDEPS) $<

-$(OBJS)\test_drawing_plugindriver.o: ./drawing/plugindriver.cpp
- $(CXX) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(CPPDEPS) $<
-
$(OBJS)\test_drawing_basictest.o: ./drawing/basictest.cpp
$(CXX) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(CPPDEPS) $<

$(OBJS)\test_drawing_fonttest.o: ./drawing/fonttest.cpp
$(CXX) -c -o $@ $(TEST_DRAWING_CXXFLAGS) $(CPPDEPS) $<

-$(OBJS)\test_drawingplugin_pluginsample.o: ./drawing/pluginsample.cpp
- $(CXX) -c -o $@ $(TEST_DRAWINGPLUGIN_CXXFLAGS) $(CPPDEPS) $<
-
$(OBJS)\test_gui_test_rc.o: ./../tests/test.rc
$(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_10) $(__DEBUG_DEFINE_p_10) $(__NDEBUG_DEFINE_p_10) $(__EXCEPTIONS_DEFINE_p_10) $(__RTTI_DEFINE_p_10) $(__THREAD_DEFINE_p_10) --include-dir $(SETUPHDIR) --include-dir ./../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_10) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../samples --define NOPCH --include-dir ./../samples --include-dir ./../3rdparty/catch/single_include



=====================================
tests/makefile.vc
=====================================
@@ -135,22 +135,10 @@ TEST_DRAWING_OBJECTS = \
$(OBJS)\test_drawing_dummy.obj \
$(OBJS)\test_drawing_test.obj \
$(OBJS)\test_drawing_drawing.obj \
- $(OBJS)\test_drawing_plugindriver.obj \
$(OBJS)\test_drawing_basictest.obj \
$(OBJS)\test_drawing_fonttest.obj
TEST_DRAWING_RESOURCES = \
$(OBJS)\test_drawing_test.res
-TEST_DRAWINGPLUGIN_CXXFLAGS = /M$(__RUNTIME_LIBS_45)$(__DEBUGRUNTIME) /DWIN32 \
- $(__DEBUGINFO) /Fd$(OBJS)\test_drawingplugin.pdb $(____DEBUGRUNTIME) \
- $(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
- /D_CRT_NON_CONFORMING_SWPRINTFS=1 /D_SCL_SECURE_NO_WARNINGS=1 \
- $(__NO_VC_CRTDBG_p) $(__TARGET_CPU_COMPFLAG_p) /D__WXMSW__ \
- $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) \
- $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) $(__THREAD_DEFINE_p) \
- /I$(SETUPHDIR) /I.\..\include $(____CAIRO_INCLUDEDIR_FILENAMES) /W4 \
- $(__DLLFLAG_p) $(__RTTIFLAG) $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
-TEST_DRAWINGPLUGIN_OBJECTS = \
- $(OBJS)\test_drawingplugin_pluginsample.obj
TEST_GUI_CXXFLAGS = /M$(__RUNTIME_LIBS_59)$(__DEBUGRUNTIME) /DWIN32 \
$(__DEBUGINFO) /Fd$(OBJS)\test_gui.pdb $(____DEBUGRUNTIME) \
$(__OPTIMIZEFLAG) /D_CRT_SECURE_NO_DEPRECATE=1 \
@@ -489,9 +477,6 @@ __RUNTIME_LIBS_27 = $(__THREADSFLAG)
!if "$(MONOLITHIC)" == "1" && "$(USE_STC)" == "1"
__LIB_LEXILLA_IF_MONO_p = $(__LIB_LEXILLA_p)
!endif
-!if "$(SHARED)" == "1" && "$(USE_GUI)" == "1"
-__test_drawingplugin___depname = $(OBJS)\test_drawingplugin.dll
-!endif
!if "$(BUILD)" == "debug" && "$(DEBUG_INFO)" == "default"
__DEBUGINFO_37 = $(__DEBUGRUNTIME_3)
!endif
@@ -828,7 +813,7 @@ $(OBJS):

### Targets: ###

-all: $(OBJS)\test.exe $(__test_drawing___depname) $(__test_drawingplugin___depname) $(__test_gui___depname) $(__test_allheaders___depname) data data-image-sample data-images en_GB fr ja xart-dothraki
+all: $(OBJS)\test.exe $(__test_drawing___depname) $(__test_gui___depname) $(__test_allheaders___depname) data data-image-sample data-images en_GB fr ja xart-dothraki

clean:
-if exist $(OBJS)\*.obj del $(OBJS)\*.obj
@@ -840,9 +825,6 @@ clean:
-if exist $(OBJS)\test_drawing.exe del $(OBJS)\test_drawing.exe
-if exist $(OBJS)\test_drawing.ilk del $(OBJS)\test_drawing.ilk
-if exist $(OBJS)\test_drawing.pdb del $(OBJS)\test_drawing.pdb
- -if exist $(OBJS)\test_drawingplugin.dll del $(OBJS)\test_drawingplugin.dll
- -if exist $(OBJS)\test_drawingplugin.ilk del $(OBJS)\test_drawingplugin.ilk
- -if exist $(OBJS)\test_drawingplugin.pdb del $(OBJS)\test_drawingplugin.pdb
-if exist $(OBJS)\test_gui.exe del $(OBJS)\test_gui.exe
-if exist $(OBJS)\test_gui.ilk del $(OBJS)\test_gui.ilk
-if exist $(OBJS)\test_gui.pdb del $(OBJS)\test_gui.pdb
@@ -862,13 +844,6 @@ $(OBJS)\test_drawing.exe: $(OBJS)\test_drawing_dummy.obj $(TEST_DRAWING_OBJECTS
<<
!endif

-!if "$(SHARED)" == "1" && "$(USE_GUI)" == "1"
-$(OBJS)\test_drawingplugin.dll: $(TEST_DRAWINGPLUGIN_OBJECTS)
- link /DLL /NOLOGO /OUT:$@ $(__DEBUGINFO_5) /pdb:"$(OBJS)\test_drawingplugin.pdb" $(__DEBUGINFO_37) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
- $(TEST_DRAWINGPLUGIN_OBJECTS) $(__WXLIB_CORE_p) $(__WXLIB_BASE_p) $(__WXLIB_MONO_p) $(__LIB_SCINTILLA_IF_MONO_p) $(__LIB_LEXILLA_IF_MONO_p_1) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) $(__LIB_WEBP_p) $(__LIB_LUNASVG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib gdiplus.lib msimg32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib
-<<
-!endif
-
!if "$(USE_GUI)" == "1"
$(OBJS)\test_gui.exe: $(OBJS)\test_gui_dummy.obj $(TEST_GUI_OBJECTS) $(OBJS)\test_gui_test.res
link /NOLOGO /OUT:$@ $(__DEBUGINFO_5) /pdb:"$(OBJS)\test_gui.pdb" $(__DEBUGINFO_51) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(WIN32_DPI_LINKFLAG) /SUBSYSTEM:CONSOLE $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
@@ -1187,18 +1162,12 @@ $(OBJS)\test_drawing_test.obj: .\test.cpp
$(OBJS)\test_drawing_drawing.obj: .\drawing\drawing.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_DRAWING_CXXFLAGS) .\drawing\drawing.cpp

-$(OBJS)\test_drawing_plugindriver.obj: .\drawing\plugindriver.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(TEST_DRAWING_CXXFLAGS) .\drawing\plugindriver.cpp
-
$(OBJS)\test_drawing_basictest.obj: .\drawing\basictest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_DRAWING_CXXFLAGS) .\drawing\basictest.cpp

$(OBJS)\test_drawing_fonttest.obj: .\drawing\fonttest.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_DRAWING_CXXFLAGS) .\drawing\fonttest.cpp

-$(OBJS)\test_drawingplugin_pluginsample.obj: .\drawing\pluginsample.cpp
- $(CXX) /c /nologo /TP /Fo$@ $(TEST_DRAWINGPLUGIN_CXXFLAGS) .\drawing\pluginsample.cpp
-
$(OBJS)\test_gui_dummy.obj: .\dummy.cpp
$(CXX) /c /nologo /TP /Fo$@ $(TEST_GUI_CXXFLAGS) /Yctestprec.h .\dummy.cpp



=====================================
tests/test.bkl
=====================================
@@ -141,7 +141,6 @@
<sources>
test.cpp
drawing/drawing.cpp
- drawing/plugindriver.cpp
drawing/basictest.cpp
drawing/fonttest.cpp
</sources>
@@ -150,25 +149,6 @@
<wx-lib>base</wx-lib>
</exe>

- <!--
- This is a sample plugin, it simply uses a wxImage based
- wxGraphicsContext. It should render the same as the built-in test. Use
- the WX_TEST_SUITE_GC_DRAWING_PLUGINS variable to specify the location of
- the produced DLL/so to get it loaded and tested. To make your own plugin,
- you can copy this sample and link toward your own implementation of
- wxGraphicsContext interface, building the appropriate DrawingTestGCFactory
- -->
- <module id="test_drawingplugin" template="wx"
- template_append="wx_append"
- cond="USE_GUI=='1' and SHARED=='1'">
- <define>$(DLLFLAG)</define>
- <sources>
- drawing/pluginsample.cpp
- </sources>
- <wx-lib>core</wx-lib>
- <wx-lib>base</wx-lib>
- </module>
-
<template id="stc_append">
<if cond="OUT_OF_TREE_MAKEFILES=='0'">
<sys-lib>$(LIB_SCINTILLA)</sys-lib>



View it on GitLab: https://gitlab.com/wxwidgets/wxwidgets/-/compare/a1e910f517e24d56e53585da2f8d126dcb3887d1...788b4581122ffda0ee5b7c51132d115e62aafd99

--
View it on GitLab: https://gitlab.com/wxwidgets/wxwidgets/-/compare/a1e910f517e24d56e53585da2f8d126dcb3887d1...788b4581122ffda0ee5b7c51132d115e62aafd99
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help


Reply all
Reply to author
Forward
0 new messages