From 2e2710caba17c532dc7e64d15238ad9cfe183ed3 Mon Sep 17 00:00:00 2001 From: B Stack Date: Tue, 8 Dec 2020 21:33:20 -0500 Subject: ffs rpm 11.4 --- freefilesync/README.md | 9 ++- freefilesync/ffs_allow_parallel_ops.patch | 69 ++++++++++++++++++---- freefilesync/ffs_fedora.patch | 30 +++++----- freefilesync/ffs_no_check_updates.patch | 27 +++++---- freefilesync/ffs_no_wx311.patch | 16 ++--- freefilesync/ffs_traditional_view.patch | 16 +++-- .../revert_zenju_aggressive_upstreamisms.patch | 12 ++++ 7 files changed, 117 insertions(+), 62 deletions(-) (limited to 'freefilesync') diff --git a/freefilesync/README.md b/freefilesync/README.md index 4075b91..250a061 100644 --- a/freefilesync/README.md +++ b/freefilesync/README.md @@ -19,16 +19,15 @@ Distro | FreeFileSync version | gtk version -------------- | -------------------- | ---------------- CentOS 7 | 10.24 | 2 CentOS 8 | 10.24 | 2 -Fedora 32 | 11.3 | 2 -Fedora 33 | 11.3 | 2 -Fedora Rawhide | 11.3 | 2 -Devuan Ceres | 11.3 | 3 +Fedora 32 | 11.4 | 2 +Fedora 33 | 11.4 | 2 +Fedora Rawhide | 11.4 | 2 +Devuan Ceres | 11.4 | 3 ## Additional info Upstream officially still [uses gtk2](https://freefilesync.org/forum/viewtopic.php?t=7660&p=26079#p26063) but the code supports gtk3 starting around version 10.25. With version 10.25, only stdc++=20 is supported, so el7 cannot go any higher: I was unable to find g++-10 for el7. On the rpm platforms, where gtk2 is still supported as a primary environment, I compile FreeFileSync against gtk2. On Devuan where gtk2 has been obsoleted, I compile against gtk3. - ## CentOS compilation of freefilesync ### Dependencies to build FreeFileSync on CentOS 7 diff --git a/freefilesync/ffs_allow_parallel_ops.patch b/freefilesync/ffs_allow_parallel_ops.patch index 040369f..3d00225 100644 --- a/freefilesync/ffs_allow_parallel_ops.patch +++ b/freefilesync/ffs_allow_parallel_ops.patch @@ -1,20 +1,63 @@ This is still experimental. -diff -aur 11.2-0/FreeFileSync/Source/ui/folder_selector.cpp 11.2-1/FreeFileSync/Source/ui/folder_selector.cpp ---- 11.2-0/FreeFileSync/Source/ui/folder_selector.cpp 2020-10-02 14:39:05.297463367 -0400 -+++ 11.2-1/FreeFileSync/Source/ui/folder_selector.cpp 2020-10-02 15:01:06.505758389 -0400 -@@ -260,7 +260,7 @@ +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/config.cpp 11.4-1/FreeFileSync/Source/config.cpp +--- 11.4-0/FreeFileSync/Source/config.cpp 2020-12-08 08:15:29.428156465 -0500 ++++ 11.4-1/FreeFileSync/Source/config.cpp 2020-12-08 19:12:03.373121599 -0500 +@@ -1200,7 +1200,7 @@ + } + else + { +- size_t parallelOps = 1; ++ size_t parallelOps = 5; + if (const XmlElement* e = in["VersioningFolder"].get()) e->getAttribute("Threads", parallelOps); //try to get attribute - std::optional parallelOpsDisabledReason; - -- parallelOpsDisabledReason = _("Requires FreeFileSync Donation Edition"); -+ // parallelOpsDisabledReason = _("Requires FreeFileSync Donation Edition"); + const size_t parallelOpsPrev = getDeviceParallelOps(deviceParallelOps, syncCfg.versioningFolderPhrase); +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp +--- 11.4-0/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 08:15:29.428156465 -0500 ++++ 11.4-1/FreeFileSync/Source/ui/folder_selector.cpp 2020-12-08 19:12:09.205183330 -0500 +@@ -256,7 +256,7 @@ + void FolderSelector::onSelectAltFolder(wxCommandEvent& event) + { + Zstring folderPathPhrase = getPath(); +- size_t parallelOps = getDeviceParallelOps_ ? getDeviceParallelOps_(folderPathPhrase) : 1; ++ size_t parallelOps = getDeviceParallelOps_ ? getDeviceParallelOps_(folderPathPhrase) : 5; - if (showCloudSetupDialog(parent_, folderPathPhrase, sftpKeyFileLastSelected_, parallelOps, get(parallelOpsDisabledReason)) != ConfirmationButton::accept) + if (showCloudSetupDialog(parent_, folderPathPhrase, sftpKeyFileLastSelected_, parallelOps, static_cast(setDeviceParallelOps_)) != ConfirmationButton::accept) return; -diff -aur 11.2-0/FreeFileSync/Source/ui/sync_cfg.cpp 11.2-1/FreeFileSync/Source/ui/sync_cfg.cpp ---- 11.2-0/FreeFileSync/Source/ui/sync_cfg.cpp 2020-10-02 14:39:05.289463269 -0400 -+++ 11.2-1/FreeFileSync/Source/ui/sync_cfg.cpp 2020-10-02 15:01:06.509758438 -0400 -@@ -336,7 +336,7 @@ +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 08:15:29.432156507 -0500 ++++ 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 19:07:22.970153675 -0500 +@@ -370,11 +370,14 @@ + + m_spinCtrlConnectionCount->SetValue(parallelOps); + +- m_spinCtrlConnectionCount->Disable(); +- m_staticTextConnectionCountDescr->Hide(); ++ if (!canChangeParallelOp) ++ { ++ m_spinCtrlConnectionCount->Disable(); ++ m_staticTextConnectionCountDescr->Hide(); + +- m_spinCtrlChannelCountSftp->Disable(); +- m_buttonChannelCountSftp ->Disable(); ++ m_spinCtrlChannelCountSftp->Disable(); ++ m_buttonChannelCountSftp ->Disable(); ++ } + //--------------------------------------------------------- + + //set up default view for dialog size calculation +@@ -807,7 +810,7 @@ + + targetFolder = std::make_unique(this, *this, *m_buttonSelectTargetFolder, *m_bpButtonSelectAltTargetFolder, *m_targetFolderPath, + targetFolderLastSelected, sftpKeyFileLastSelected, nullptr /*staticText*/, nullptr /*wxWindow*/, nullptr /*droppedPathsFilter*/, +- [](const Zstring& folderPathPhrase) { return 1; } /*getDeviceParallelOps*/, nullptr /*setDeviceParallelOps*/); ++ [](const Zstring& folderPathPhrase) { return 5; } /*getDeviceParallelOps*/, nullptr /*setDeviceParallelOps*/); + + m_targetFolderPath->setHistory(std::make_shared(folderHistory, folderHistoryMax)); + +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/sync_cfg.cpp 11.4-1/FreeFileSync/Source/ui/sync_cfg.cpp +--- 11.4-0/FreeFileSync/Source/ui/sync_cfg.cpp 2020-12-08 08:15:29.432156507 -0500 ++++ 11.4-1/FreeFileSync/Source/ui/sync_cfg.cpp 2020-12-08 18:31:29.079355828 -0500 +@@ -333,7 +333,7 @@ commandHistoryOut_(commandHistory), globalPairCfg_(globalPairCfg), localPairCfg_(localPairConfig), diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch index 5c5fda0..1396c91 100644 --- a/freefilesync/ffs_fedora.patch +++ b/freefilesync/ffs_fedora.patch @@ -1,4 +1,4 @@ -Last modified date: 2020-10-03 +Last modified date: 2020-12-08 History: ffs_fedora 2020-07-22 now uses gtk3 diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp --- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400 @@ -13,19 +13,20 @@ diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source } -diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Source/Makefile 11.0-1/FreeFileSync/Source/Makefile ---- 11.0-0/FreeFileSync/Source/Makefile 2020-07-22 11:36:55.000000000 -0400 -+++ 11.0-1/FreeFileSync/Source/Makefile 2020-07-22 13:36:27.193345688 -0400 +diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/Makefile 11.4-1/FreeFileSync/Source/Makefile +--- 11.4-0/FreeFileSync/Source/Makefile 2020-12-08 20:49:38.675976861 -0500 ++++ 11.4-1/FreeFileSync/Source/Makefile 2020-12-08 21:01:57.174590803 -0500 @@ -1,10 +1,10 @@ -exeName = FreeFileSync_$(shell arch) +exeName = FreeFileSync - cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ +-cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ ++cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread --linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread -+linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread +-linkFlags = -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread ++linkFlags += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -lz -pthread cxxFlags += `pkg-config --cflags openssl` @@ -42,19 +43,20 @@ diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Sour #support for SELinux (optional) SELINUX_EXISTING=$(shell pkg-config --exists libselinux && echo YES) -diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Source/RealTimeSync/Makefile 11.0-1/FreeFileSync/Source/RealTimeSync/Makefile ---- 11.0-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-07-22 11:36:55.000000000 -0400 -+++ 11.0-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-07-22 13:36:32.262394424 -0400 +diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/RealTimeSync/Makefile 11.4-1/FreeFileSync/Source/RealTimeSync/Makefile +--- 11.4-0/FreeFileSync/Source/RealTimeSync/Makefile 2020-12-08 20:49:38.675976861 -0500 ++++ 11.4-1/FreeFileSync/Source/RealTimeSync/Makefile 2020-12-08 21:01:19.720188711 -0500 @@ -1,15 +1,16 @@ -exeName = RealTimeSync_$(shell arch) +exeName = RealTimeSync - cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ +-cxxFlags = -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ ++cxxFlags += -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../../.. -I../../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" \ -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wnon-virtual-dtor -Wno-unused-function -Wshadow -Wno-maybe-uninitialized \ -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread --linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -pthread -+linkFlags = -s -no-pie `wx-config --libs std, aui --debug=no` -lz -pthread +-linkFlags = -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -pthread ++linkFlags += -s -no-pie `wx-config --libs std, aui, richtext --debug=no` -lz -pthread #Gtk - support "no button border" -cxxFlags += `pkg-config --cflags gtk+-2.0` @@ -66,7 +68,7 @@ diff -x '*.orig' -x '*.git' -x '*.rej' -x '*.swp' -Naur 11.0-0/FreeFileSync/Sour cppFiles= cppFiles+=application.cpp -iff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.19-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.19-1/FreeFileSync/Source/ui/small_dlgs.cpp +diff -Naur -x '*.rej' -x '*.orig' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp --- 10.22-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:49:57.837901137 -0400 +++ 10.22-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-03-18 15:51:50.381251257 -0400 @@ -97,6 +97,8 @@ diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch index 4616461..2413cba 100644 --- a/freefilesync/ffs_no_check_updates.patch +++ b/freefilesync/ffs_no_check_updates.patch @@ -1,32 +1,33 @@ -diff -aur 11.2-0/FreeFileSync/Source/ui/main_dlg.cpp 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp ---- 11.2-0/FreeFileSync/Source/ui/main_dlg.cpp 2020-10-02 14:39:05.333463811 -0400 -+++ 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-10-02 14:52:01.515034696 -0400 -@@ -5621,7 +5621,7 @@ - globalCfg_.gui.lastUpdateCheck = 0; //reset to GlobalSettings.xml default value! +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-0/FreeFileSync/Source/ui/main_dlg.cpp 11.4-1/FreeFileSync/Source/ui/main_dlg.cpp +--- 11.4-0/FreeFileSync/Source/ui/main_dlg.cpp 2020-12-08 08:15:29.432156507 -0500 ++++ 11.4-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-12-08 18:29:47.210277596 -0500 +@@ -5552,7 +5552,7 @@ + globalCfg_.lastUpdateCheck = 0; //reset to GlobalSettings.xml default value! - m_menuItemCheckVersionAuto->Check(updateCheckActive(globalCfg_.gui.lastUpdateCheck)); + m_menuItemCheckVersionAuto->Check(updateCheckActive(globalCfg_.lastUpdateCheck)); - + /* - if (shouldRunAutomaticUpdateCheck(globalCfg_.gui.lastUpdateCheck)) + if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck)) { flashStatusInformation(_("Searching for program updates...")); -@@ -5629,6 +5629,7 @@ - automaticUpdateCheckEval(this, globalCfg_.gui.lastUpdateCheck, globalCfg_.gui.lastOnlineVersion, +@@ -5560,6 +5560,7 @@ + automaticUpdateCheckEval(this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion, automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get()); } + */ } -@@ -5653,6 +5654,7 @@ +@@ -5583,7 +5584,7 @@ + m_menubar->Append(menu, blackStar + L' ' + replaceCpy(_("FreeFileSync %x is available!"), L"%x", utfTo(globalCfg_.lastOnlineVersion)) + L' ' + blackStar); } }; - +- + /* - if (shouldRunAutomaticUpdateCheck(globalCfg_.gui.lastUpdateCheck)) + if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck)) { flashStatusInformation(_("Searching for program updates...")); -@@ -5669,6 +5671,7 @@ +@@ -5600,6 +5601,7 @@ } else showNewVersionReminder(); diff --git a/freefilesync/ffs_no_wx311.patch b/freefilesync/ffs_no_wx311.patch index 22d8260..b2ee1a9 100644 --- a/freefilesync/ffs_no_wx311.patch +++ b/freefilesync/ffs_no_wx311.patch @@ -1,8 +1,8 @@ 2019-08-15 just compile. -diff -Naur 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.25-1/FreeFileSync/Source/ui/small_dlgs.cpp ---- 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-06-19 16:17:15.000000000 -0400 -+++ 11.0-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-07-22 11:39:25.820068366 -0400 -@@ -293,7 +293,8 @@ +diff -Naur -x '*.orig' -x '*.rej' -x .git 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp +--- 11.4-0/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 08:15:29.432156507 -0500 ++++ 11.4-1/FreeFileSync/Source/ui/small_dlgs.cpp 2020-12-08 18:22:19.929543356 -0500 +@@ -300,7 +300,8 @@ { showNotificationDialog(this, DialogInfoType::error, PopupDialogCfg().setDetailInstructions(e.toString())); } @@ -12,16 +12,16 @@ diff -Naur 10.25-0/FreeFileSync/Source/ui/small_dlgs.cpp 10.25-1/FreeFileSync/So //set default values for Google Drive: use first item of m_listBoxGdriveUsers if (!gdriveAccounts.empty() && !acceptsItemPathPhraseGdrive(folderPathPhrase)) -@@ -1682,7 +1683,7 @@ +@@ -1681,7 +1682,7 @@ //setMainInstructionFont(*m_staticTextMain); m_bitmapActivation->SetBitmap(loadImage("internet")); - m_textCtrlOfflineActivationKey->ForceUpper(); + //m_textCtrlOfflineActivationKey->ForceUpper(); - m_textCtrlLastError ->ChangeValue(lastErrorMsg); - m_textCtrlManualActivationUrl ->ChangeValue(manualActivationUrl); -diff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp + setTextWithUrls(*m_richTextLastError, lastErrorMsg); + setTextWithUrls(*m_richTextManualActivationUrl, manualActivationUrl); +iff -Naur -x '*.orig' -x '*.rej' 10.3-0/wx+/grid.cpp 10.3-2/wx+/grid.cpp --- 10.3-0/wx+/grid.cpp 2018-08-07 05:03:34.000000000 -0400 +++ 10.3-2/wx+/grid.cpp 2018-08-08 19:24:56.849445102 -0400 @@ -1176,7 +1176,9 @@ diff --git a/freefilesync/ffs_traditional_view.patch b/freefilesync/ffs_traditional_view.patch index f627a0a..c075820 100644 --- a/freefilesync/ffs_traditional_view.patch +++ b/freefilesync/ffs_traditional_view.patch @@ -1,8 +1,7 @@ -Version: 11.3 -Date: 2020-11-05 +Version: 11.4 +Date: 2020-12-08 Author: bgstack15@gmail.com Message: restore a traditional view to FreeFileSync -The Nov 5 patch removes the lines between groups, and also fixes the relative paths in "Trad. Rel" view. diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp --- 11.3-1/FreeFileSync/Source/ui/file_grid.cpp 2020-11-02 11:38:14.806496077 -0500 +++ 11.3-2/FreeFileSync/Source/ui/file_grid.cpp 2020-11-05 11:11:46.146360956 -0500 @@ -183,19 +182,18 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11. //mouse highlight: group name wxDCTextColourChanger textColorGroupName(dc); -@@ -972,10 +1040,10 @@ +@@ -974,9 +1042,9 @@ drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName)); } - if (!groupParentFolder.empty() && + if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() && (( stackedGroupRender && row == groupFirstRow + 1) || - (!stackedGroupRender && row == groupFirstRow)) && -- (groupName.empty() || !pdi.folderGroupObj->isEmpty())) -+ (groupName.empty() || !pdi.folderGroupObj->isEmpty()))) +- (!stackedGroupRender && row == groupFirstRow)) ++ (!stackedGroupRender && row == groupFirstRow))) + //&& (groupName.empty() || !pdi.folderGroupObj->isEmpty()) -> show unconditionally, even for missing folders + ) { - wxRect rectGroupParentText = rectGroupParent; - rectGroupParentText.x += gapSize_; @@ -994,16 +1062,16 @@ rectGroupItems.x += 2 * gapSize_; rectGroupItems.width -= 2 * gapSize_; diff --git a/freefilesync/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/revert_zenju_aggressive_upstreamisms.patch index 1a468db..ad3f51e 100644 --- a/freefilesync/revert_zenju_aggressive_upstreamisms.patch +++ b/freefilesync/revert_zenju_aggressive_upstreamisms.patch @@ -293,3 +293,15 @@ index e8ed01e4..2a9e00d2 100644 void showStatsPanel(); MainDialog& mainDlg_; +diff -Naur -x '*.orig' -x '*.rej' -x '*.git*' 11.4-1/wx+/no_flicker.h 11.4-2/wx+/no_flicker.h +--- 11.4-1/wx+/no_flicker.h 2020-12-08 08:15:29.436156549 -0500 ++++ 11.4-2/wx+/no_flicker.h 2020-12-08 20:11:25.066820270 -0500 +@@ -70,7 +70,7 @@ + ZEN_ON_SCOPE_EXIT(richCtrl.EndSuppressUndo()); + + //fix mouse scroll speed: why the FUCK is this even necessary! +- richCtrl.SetLineHeight(richCtrl.GetCharHeight()); ++ //richCtrl.SetLineHeight(richCtrl.GetCharHeight()); // this is not even documented in wxWidgets 3.1.5! + + //get rid of margins and space between text blocks/"paragraphs" + richCtrl.SetMargins({0, 0}); -- cgit