From 7ca58f8358e4fd33dbe7ae8cb5a2aad3e667608f Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Wed, 13 Sep 2023 19:42:55 -0400 Subject: ffs 13.0 rc1 --- .../patches/revert_buggy_gtk3_change_in_12.1.patch | 79 ++++++++++++++++------ 1 file changed, 58 insertions(+), 21 deletions(-) (limited to 'freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch') 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 index aa1ff07..78fed20 100644 --- a/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch +++ b/freefilesync/debian/patches/revert_buggy_gtk3_change_in_12.1.patch @@ -8,12 +8,12 @@ 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-07-24 -Version: 12.5 +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 +@@ -127,10 +127,7 @@ //---------------------------------------------------------------------- GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -27,7 +27,7 @@ Version: 12.5 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 -@@ -82,10 +82,7 @@ BatchDialog::BatchDialog(wxWindow* paren +@@ -82,10 +82,7 @@ Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -41,7 +41,7 @@ Version: 12.5 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 +@@ -221,10 +221,7 @@ m_panelErrorStats->Layout(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -53,7 +53,7 @@ Version: 12.5 } -@@ -924,10 +921,6 @@ syncStat_(&syncStat) +@@ -924,10 +921,6 @@ //make sure that standard height matches ProcessPhase::binaryCompare statistics layout (== largest) this->GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -66,7 +66,7 @@ Version: 12.5 --- a/FreeFileSync/Source/ui/small_dlgs.cpp +++ b/FreeFileSync/Source/ui/small_dlgs.cpp -@@ -145,10 +145,6 @@ AboutDlg::AboutDlg(wxWindow* parent) : A +@@ -144,10 +144,6 @@ //-------------------------------------------------------------------------- //have animal + text match *final* dialog width GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -77,7 +77,7 @@ Version: 12.5 { const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2; -@@ -164,10 +160,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A +@@ -163,10 +159,7 @@ Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -89,7 +89,7 @@ Version: 12.5 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!!! -@@ -404,11 +397,7 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p +@@ -400,11 +393,7 @@ m_checkBoxPasswordPrompt->Hide(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -102,7 +102,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! updateGui(); //*after* SetSizeHints when standard dialog height has been calculated -@@ -976,10 +965,7 @@ CopyToDialog::CopyToDialog(wxWindow* par +@@ -968,10 +957,7 @@ Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -114,7 +114,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_buttonOK->SetFocus(); -@@ -1094,10 +1080,7 @@ DeleteDialog::DeleteDialog(wxWindow* par +@@ -1085,10 +1071,7 @@ Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -126,7 +126,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_buttonOK->SetFocus(); -@@ -1237,10 +1220,7 @@ SyncConfirmationDlg::SyncConfirmationDlg +@@ -1228,10 +1211,7 @@ setIntValue(*m_staticTextDeleteRight, st.deleteCount(), *m_bitmapDeleteRight, "so_delete_right_sicon"); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -138,7 +138,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_buttonStartSync->SetFocus(); -@@ -1504,10 +1484,7 @@ OptionsDlg::OptionsDlg(wxWindow* parent, +@@ -1495,10 +1475,7 @@ updateGui(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -150,7 +150,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! //restore actual value: -@@ -1827,10 +1804,7 @@ SelectTimespanDlg::SelectTimespanDlg(wxW +@@ -1818,10 +1795,7 @@ Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& event) { onLocalKeyEvent(event); }); //enable dialog-specific key events GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -162,7 +162,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_buttonOkay->SetFocus(); -@@ -1926,10 +1900,7 @@ PasswordPromptDlg::PasswordPromptDlg(wxW +@@ -1917,10 +1891,7 @@ m_textCtrlPasswordVisible->Hide(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -174,7 +174,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! updateGui(); //*after* SetSizeHints when standard dialog height has been calculated -@@ -2012,10 +1983,7 @@ CfgHighlightDlg::CfgHighlightDlg(wxWindo +@@ -2003,10 +1974,7 @@ m_spinCtrlOverdueDays->SetValue(cfgHistSyncOverdueDays); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -186,7 +186,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_spinCtrlOverdueDays->SetFocus(); -@@ -2081,10 +2049,7 @@ ActivationDlg::ActivationDlg(wxWindow* p +@@ -2074,10 +2042,7 @@ m_textCtrlOfflineActivationKey->ChangeValue(manualActivationKey); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -198,7 +198,7 @@ Version: 12.5 Center(); //needs to be re-applied after a dialog size change! m_buttonActivateOnline->SetFocus(); -@@ -2189,12 +2154,8 @@ DownloadProgressWindow::Impl::Impl(wxWin +@@ -2182,12 +2147,8 @@ updateGui(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -214,7 +214,7 @@ Version: 12.5 //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 -@@ -696,10 +696,7 @@ globalLogFolderPhrase_(globalLogFolderPh +@@ -706,10 +706,7 @@ selectFolderPairConfig(-1); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() @@ -225,11 +225,16 @@ Version: 12.5 + //=> 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: "two way" description is smaller than grid of sync directions + //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 -@@ -287,13 +287,8 @@ public: +@@ -283,17 +283,12 @@ + //set std order after button visibility was set + setStandardButtonLayout(*bSizerStdButtons, stdBtns); +- updateGui(); + ++ updateGui(); GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize() -#ifdef __WXGTK3__ @@ -242,3 +247,35 @@ Version: 12.5 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 +@@ -80,12 +80,11 @@ + } + + 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(fastFromDIP(TIP_WINDOW_OFFSET_DIP) + tipWindow_->GetSize().GetWidth(), 0) : +--- a/FreeFileSync/Source/ui/rename_dlg.cpp ++++ b/FreeFileSync/Source/ui/rename_dlg.cpp +@@ -354,10 +354,7 @@ + + //----------------------------------------------------------- + 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 -- cgit