From 7f004cc49991311998a278cf7266a1bcc7bedb0f Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Sat, 17 Feb 2024 08:42:28 -0500 Subject: ffs 13.4 --- freefilesync/debian/_service | 2 +- freefilesync/debian/changelog | 11 + freefilesync/debian/freefilesync+stackrpms.dsc | 2 +- .../libcurl_improve_supported_error_codes.patch | 14 +- .../patches/revert_buggy_gtk3_change_in_12.1.patch | 281 --------------------- freefilesync/debian/patches/series | 1 - 6 files changed, 20 insertions(+), 291 deletions(-) delete mode 100644 freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service index 0f3600f..ab08497 100644 --- a/freefilesync/debian/_service +++ b/freefilesync/debian/_service @@ -14,7 +14,7 @@ git https://gitlab.com/opensource-tracking/FreeFileSync.git - 13.3 + 13.4 _none_ diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index 00ecc30..1288ac1 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,14 @@ +freefilesync (13.4-100+stackrpms) obs; urgency=low + + * Upstream updates + * Ignore leading/trailing space when matching file names + * Work around wxWidgets system logger clearing error code + * Fixed registration info not found after App Translocation (macOS) + * Avoid modal dialog hang on KDE when compiling with GTK3 + * Change app location without losing Donation Edition status (macOS) + + -- B. Stack Fri, 16 Feb 2024 21:07:55 -0500 + freefilesync (13.3-101+stackrpms) obs; urgency=low * Add dependencies on libselinux1-dev, zlib1g-dev diff --git a/freefilesync/debian/freefilesync+stackrpms.dsc b/freefilesync/debian/freefilesync+stackrpms.dsc index 1b648c3..69374ec 100644 --- a/freefilesync/debian/freefilesync+stackrpms.dsc +++ b/freefilesync/debian/freefilesync+stackrpms.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: freefilesync Binary: freefilesync Architecture: any -Version: 13.3-101+stackrpms +Version: 13.4-101+stackrpms Maintainer: B. Stack Homepage: https://freefilesync.org/ Standards-Version: 4.1.4 diff --git a/freefilesync/debian/patches/libcurl_improve_supported_error_codes.patch b/freefilesync/debian/patches/libcurl_improve_supported_error_codes.patch index 50d5942..c7ca90c 100644 --- a/freefilesync/debian/patches/libcurl_improve_supported_error_codes.patch +++ b/freefilesync/debian/patches/libcurl_improve_supported_error_codes.patch @@ -26,7 +26,7 @@ Last-Update: 2024-02-05 --- a/libcurl/curl_wrap.cpp +++ b/libcurl/curl_wrap.cpp -@@ -350,7 +350,11 @@ +@@ -350,7 +350,11 @@ std::wstring zen::formatCurlStatusCode(C ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE46); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_MANY_REDIRECTS); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNKNOWN_OPTION); @@ -38,7 +38,7 @@ Last-Update: 2024-02-05 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE50); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_OBSOLETE51); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_GOT_NOTHING); -@@ -363,7 +367,11 @@ +@@ -363,7 +367,11 @@ std::wstring zen::formatCurlStatusCode(C ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CIPHER); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_PEER_FAILED_VERIFICATION); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_BAD_CONTENT_ENCODING); @@ -50,7 +50,7 @@ Last-Update: 2024-02-05 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_FILESIZE_EXCEEDED); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_USE_SSL_FAILED); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SEND_FAIL_REWIND); -@@ -376,8 +384,16 @@ +@@ -376,8 +384,16 @@ std::wstring zen::formatCurlStatusCode(C ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TFTP_UNKNOWNID); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_EXISTS); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TFTP_NOSUCHUSER); @@ -67,7 +67,7 @@ Last-Update: 2024-02-05 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_CACERT_BADFILE); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_REMOTE_FILE_NOT_FOUND); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSH); -@@ -395,15 +411,46 @@ +@@ -395,16 +411,46 @@ std::wstring zen::formatCurlStatusCode(C ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_SSL_INVALIDCERTSTATUS); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_HTTP2_STREAM); ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_RECURSIVE_API_CALL); @@ -90,14 +90,14 @@ Last-Update: 2024-02-05 ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_UNRECOVERABLE_POLL); +#endif +#if LIBCURL_VERSION_NUM >= 0x080600 // 8.6.0 -+ ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_LARGE); + ZEN_CHECK_CASE_FOR_CONSTANT(CURLE_TOO_LARGE); +#endif ZEN_CHECK_CASE_FOR_CONSTANT(CURL_LAST); } +#if LIBCURL_VERSION_NUM >= 0x080600 // 8.6.0 -+ static_assert(CURL_LAST == CURLE_TOO_LARGE + 1); + static_assert(CURL_LAST == CURLE_TOO_LARGE + 1); +#elif LIBCURL_VERSION_NUM >= 0x075400 // 7.84.0 - static_assert(CURL_LAST == CURLE_UNRECOVERABLE_POLL + 1); ++ static_assert(CURL_LAST == CURLE_UNRECOVERABLE_POLL + 1); +#elif LIBCURL_VERSION_NUM >= 0x074D00 // 7.77.0 + static_assert(CURL_LAST == CURLE_SSL_CLIENTCERT + 1); +#elif LIBCURL_VERSION_NUM >= 0x074900 // 7.73.0 diff --git a/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch b/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch deleted file mode 100644 index 360f804..0000000 --- a/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch +++ /dev/null @@ -1,281 +0,0 @@ -Description: Revert change that provokes freeze when opening dialogs - With upstream's 12.1 version, there started to be a freeze when opening - some dialogs. Upstream author identified this might come from a given change - detailed in https://freefilesync.org/forum/viewtopic.php?t=10103 - . - Until the problem is fixed upstream, this patch reverts that change. -Author: Fab Stz -Origin: self -Bug: https://freefilesync.org/forum/viewtopic.php?t=10103 -Forwarded: https://freefilesync.org/forum/viewtopic.php?t=10103 -Last-Update: 2023-09-13 -Version: 13.0 - ---- a/FreeFileSync/Source/ui/abstract_folder_picker.cpp -+++ b/FreeFileSync/Source/ui/abstract_folder_picker.cpp -@@ -127,10 +127,7 @@ AbstractFolderPickerDlg::AbstractFolderP - - //---------------------------------------------------------------------- - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //dialog-specific local key events ---- a/FreeFileSync/Source/ui/batch_config.cpp -+++ b/FreeFileSync/Source/ui/batch_config.cpp -@@ -81,10 +81,7 @@ BatchDialog::BatchDialog(wxWindow* paren - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonSaveAs->SetFocus(); ---- a/FreeFileSync/Source/ui/progress_indicator.cpp -+++ b/FreeFileSync/Source/ui/progress_indicator.cpp -@@ -221,10 +221,7 @@ CompareProgressPanel::Impl::Impl(wxFrame - m_panelErrorStats->Layout(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - } - - -@@ -925,10 +922,6 @@ syncStat_(&syncStat) - //make sure that standard height matches ProcessPhase::binaryCompare statistics layout (== largest) - - this->GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- this->Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- this->Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif - pnl_.Layout(); - this->Center(); //call *after* dialog layout update and *before* wxWindow::Show()! - ---- a/FreeFileSync/Source/ui/small_dlgs.cpp -+++ b/FreeFileSync/Source/ui/small_dlgs.cpp -@@ -148,10 +148,6 @@ AboutDlg::AboutDlg(wxWindow* parent) : A - //-------------------------------------------------------------------------- - //have animal + text match *final* dialog width - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif - - { - const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2; -@@ -166,10 +162,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonClose->SetFocus(); //on GTK ESC is only associated with wxID_OK correctly if we set at least *any* focus at all!!! -@@ -406,11 +399,7 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p - m_checkBoxPasswordPrompt->Hide(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() -- //=> works like a charm for GTK with window resizing problems and title bar corruption; e.g. Debian!!! --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - updateGui(); //*after* SetSizeHints when standard dialog height has been calculated -@@ -974,10 +963,7 @@ CopyToDialog::CopyToDialog(wxWindow* par - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonOK->SetFocus(); -@@ -1091,10 +1077,7 @@ DeleteDialog::DeleteDialog(wxWindow* par - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonOK->SetFocus(); -@@ -1234,10 +1217,7 @@ SyncConfirmationDlg::SyncConfirmationDlg - setIntValue(*m_staticTextDeleteRight, st.deleteCount(), *m_bitmapDeleteRight, "so_delete_right_sicon"); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonStartSync->SetFocus(); -@@ -1501,10 +1481,7 @@ OptionsDlg::OptionsDlg(wxWindow* parent, - updateGui(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - //restore actual value: -@@ -1824,10 +1801,7 @@ SelectTimespanDlg::SelectTimespanDlg(wxW - Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonOkay->SetFocus(); -@@ -1923,10 +1897,7 @@ PasswordPromptDlg::PasswordPromptDlg(wxW - m_textCtrlPasswordVisible->Hide(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - updateGui(); //*after* SetSizeHints when standard dialog height has been calculated -@@ -2009,10 +1980,7 @@ CfgHighlightDlg::CfgHighlightDlg(wxWindo - m_spinCtrlOverdueDays->SetValue(cfgHistSyncOverdueDays); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_spinCtrlOverdueDays->SetFocus(); -@@ -2080,10 +2048,7 @@ ActivationDlg::ActivationDlg(wxWindow* p - m_textCtrlOfflineActivationKey->ChangeValue(manualActivationKey); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_buttonActivateOnline->SetFocus(); -@@ -2188,12 +2153,8 @@ DownloadProgressWindow::Impl::Impl(wxWin - updateGui(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! -- - Show(); - - //clear gui flicker: window must be visible to make this work! ---- a/FreeFileSync/Source/ui/sync_cfg.cpp -+++ b/FreeFileSync/Source/ui/sync_cfg.cpp -@@ -707,10 +707,7 @@ globalLogFolderPhrase_(globalLogFolderPh - selectFolderPairConfig(-1); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - //keep stable sizer height: change-based directions are taller than difference-based ones => init with SyncVariant::twoWay ---- a/wx+/popup_dlg.cpp -+++ b/wx+/popup_dlg.cpp -@@ -283,17 +283,12 @@ public: - //set std order after button visibility was set - setStandardButtonLayout(*bSizerStdButtons, stdBtns); - -- updateGui(); - -+ updateGui(); - - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif - Center(); //needs to be re-applied after a dialog size change! - -- - Raise(); //[!] popup may be triggered by ffs_batch job running in the background! - - if (m_buttonAccept->IsEnabled()) ---- a/wx+/tooltip.cpp -+++ b/wx+/tooltip.cpp -@@ -83,12 +83,11 @@ void Tooltip::show(const wxString& text, - } - - if (imgChanged || txtChanged) -+ { - //tipWindow_->Dimensions(); -> apparently not needed!? - tipWindow_->GetSizer()->SetSizeHints(tipWindow_); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- //=> call wxWindow::Show() to "execute" --#endif -+ //Linux: Fit() seems to be broken => call EVERY time inside show, not only if text or bmp change -> still true?!? -+ } - - const wxPoint newPos = wxTheApp->GetLayoutDirection() == wxLayout_RightToLeft ? - mousePos - wxPoint(dipToWxsize(TIP_WINDOW_OFFSET_DIP) + tipWindow_->GetSize().GetWidth(), 0) : ---- a/FreeFileSync/Source/ui/rename_dlg.cpp -+++ b/FreeFileSync/Source/ui/rename_dlg.cpp -@@ -363,10 +363,7 @@ RenameDialog::RenameDialog(wxWindow* par - - //----------------------------------------------------------- - GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() --#ifdef __WXGTK3__ -- Show(); //GTK3 size calculation requires visible window: https://github.com/wxWidgets/wxWidgets/issues/16088 -- Hide(); //avoid old position flash when Center() moves window (asynchronously?) --#endif -+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!! - Center(); //needs to be re-applied after a dialog size change! - - m_textCtrlNewName->SetFocus(); //[!] required *before* SetSelection() on wxGTK diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series index 38ae7f2..2459055 100644 --- a/freefilesync/debian/patches/series +++ b/freefilesync/debian/patches/series @@ -11,7 +11,6 @@ ffs_traditional_view.patch ffs_desktop_notifications.patch ffs_icon_loader.patch ffs_tooltips_no_taskbar.patch -revert_buggy_gtk3_change_in_12.1.patch disable_wxuse_Exceptions.patch # makefile-improvements mostly combines wx-config-version, zlib-dep, pkg-config patches from bastif makefile-improvements.patch -- cgit