Mageia Bugzilla – Attachment 14101 Details for
Bug 31905
When starting FreeFileSync and choosing "compare" FreeFileSync exits
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
6th patch : revert_buggy_gtk3_change_in_12.1.patch
revert_buggy_gtk3_change_in_12.1.patch (text/plain), 13.53 KB, created by
Philippe Didier
on 2023-10-26 17:34:07 CEST
(
hide
)
Description:
6th patch : revert_buggy_gtk3_change_in_12.1.patch
Filename:
MIME Type:
Creator:
Philippe Didier
Created:
2023-10-26 17:34:07 CEST
Size:
13.53 KB
patch
obsolete
>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 <fabstz-it@yahoo.fr> >Origin: self >Bug: https://freefilesync.org/forum/viewtopic.php?t=10103 >Forwarded: https://freefilesync.org/forum/viewtopic.php?t=10103 >Last-Update: 2023-08-03 > >--- a/FreeFileSync/Source/ui/abstract_folder_picker.cpp >+++ b/FreeFileSync/Source/ui/abstract_folder_picker.cpp >@@ -127,10 +127,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! > > 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 @@ > 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 @@ > 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!!! > } > > >@@ -924,10 +921,6 @@ > //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 >@@ -145,10 +145,6 @@ > //-------------------------------------------------------------------------- > //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; >@@ -164,10 +160,7 @@ > 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!!! >@@ -401,11 +394,7 @@ > 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 >@@ -973,10 +962,7 @@ > 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 @@ > 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 @@ > setIntValue(*m_staticTextDeleteRight, st.deleteCount<SelectSide::right>(), *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 @@ > 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 @@ > 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 @@ > 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 @@ > 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(); >@@ -2078,10 +2046,7 @@ > 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(); >@@ -2186,12 +2151,8 @@ > 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 >@@ -696,10 +696,7 @@ > 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: "two way" description is smaller than grid of sync directions >--- a/wx+/popup_dlg.cpp >+++ b/wx+/popup_dlg.cpp >@@ -283,17 +283,12 @@ > //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 >@@ -78,12 +78,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 >@@ -174,10 +174,7 @@ > 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_textCtrlNewName->SetFocus(); //[!] required *before* SetSelection() on wxGTK
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 <fabstz-it@yahoo.fr> Origin: self Bug: https://freefilesync.org/forum/viewtopic.php?t=10103 Forwarded: https://freefilesync.org/forum/viewtopic.php?t=10103 Last-Update: 2023-08-03 --- a/FreeFileSync/Source/ui/abstract_folder_picker.cpp +++ b/FreeFileSync/Source/ui/abstract_folder_picker.cpp @@ -127,10 +127,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! 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 @@ 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 @@ 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!!! } @@ -924,10 +921,6 @@ //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 @@ -145,10 +145,6 @@ //-------------------------------------------------------------------------- //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; @@ -164,10 +160,7 @@ 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!!! @@ -401,11 +394,7 @@ 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 @@ -973,10 +962,7 @@ 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 @@ 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 @@ setIntValue(*m_staticTextDeleteRight, st.deleteCount<SelectSide::right>(), *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 @@ 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 @@ 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 @@ 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 @@ 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(); @@ -2078,10 +2046,7 @@ 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(); @@ -2186,12 +2151,8 @@ 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 @@ -696,10 +696,7 @@ 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: "two way" description is smaller than grid of sync directions --- a/wx+/popup_dlg.cpp +++ b/wx+/popup_dlg.cpp @@ -283,17 +283,12 @@ //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 @@ -78,12 +78,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 @@ -174,10 +174,7 @@ 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_textCtrlNewName->SetFocus(); //[!] required *before* SetSelection() on wxGTK
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 31905
:
14080
|
14094
|
14095
|
14096
|
14097
|
14098
|
14099
|
14100
| 14101 |
14102
|
14103
|
14104
|
14105