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 @@ { showNotificationDialog(this, DialogInfoType::error, PopupDialogCfg().setDetailInstructions(e.toString())); } - m_listBoxGdriveUsers->Append(gdriveAccounts); + for (const wxString& item : gdriveAccounts) // reverted to pre-wx 3.1.1 logic + m_listBoxGdriveUsers->Append(item); //set default values for Google Drive: use first item of m_listBoxGdriveUsers if (!gdriveAccounts.empty() && !acceptsItemPathPhraseGdrive(folderPathPhrase)) @@ -1682,7 +1683,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 --- 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 @@ { if (overlapPix != 0) { - const double scrollSpeed = wnd_.ToDIP(overlapPix) * mouseDragSpeedIncScrollU; //unit: [scroll units / sec] + // Fedora 28 does not have wxGTK 3.1.1 yet. This probably breaks HiDPI usage + //const double scrollSpeed = wnd_.ToDIP(overlapPix) * mouseDragSpeedIncScrollU; //unit: [scroll units / sec] + const double scrollSpeed = overlapPix * mouseDragSpeedIncScrollU; //unit: [scroll units / sec] toScroll += scrollSpeed * deltaSecs; } else 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 +++ 10.18-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-20 08:55:38.553446634 -0500 @@ -80,8 +80,8 @@ //OS standard path (XDG layout): ~/.config/FreeFileSync //wxBug: wxStandardPaths::GetUserDataDir() does not honor FileLayout_XDG flag - wxStandardPaths::Get().SetFileLayout(wxStandardPaths::FileLayout_XDG); - const Zstring cfgFolderPath = appendSeparator(utfTo(wxStandardPaths::Get().GetUserConfigDir())) + "FreeFileSync"; + // Many distros do not have wxGTK 3.1.1 which is the dev branch. + const Zstring cfgFolderPath = appendSeparator(utfTo(wxStandardPaths::Get().GetUserConfigDir())) + appendSeparator(utfTo(".config")) + "FreeFileSync"; try //create the config folder if not existing + create "Logs" subfolder while we're at it { diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/FreeFileSync/Source/ui/command_box.cpp 10.24-1/FreeFileSync/Source/ui/command_box.cpp --- 10.24-0/FreeFileSync/Source/ui/command_box.cpp 2020-05-17 11:01:12.893890567 -0400 +++ 10.24-1/FreeFileSync/Source/ui/command_box.cpp 2020-05-17 11:22:18.069114993 -0400 @@ -120,7 +120,8 @@ //this->Clear(); -> NO! emits yet another wxEVT_COMMAND_TEXT_UPDATED!!! wxItemContainer::Clear(); //suffices to clear the selection items only! - this->Append(items); //expensive as fuck! => only call when absolutely needed! + for (const wxString& item : items) // reverted to pre-wx 3.1.1 logic + this->Append(item); //this->SetSelection(wxNOT_FOUND); //don't select anything ChangeValue(value); //preserve main text! diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/FreeFileSync/Source/ui/folder_history_box.cpp 10.24-1/FreeFileSync/Source/ui/folder_history_box.cpp --- 10.24-0/FreeFileSync/Source/ui/folder_history_box.cpp 2020-05-17 11:01:12.909890709 -0400 +++ 10.24-1/FreeFileSync/Source/ui/folder_history_box.cpp 2020-05-17 11:21:18.460583251 -0400 @@ -90,7 +90,8 @@ //this->Clear(); -> NO! emits yet another wxEVT_COMMAND_TEXT_UPDATED!!! wxItemContainer::Clear(); //suffices to clear the selection items only! - this->Append(items); //expensive as fuck! => only call when absolutely needed! + for (const wxString& itemk : items) // reverted to pre-wx 3.1.1 logic + this->Append(itemk); //this->SetSelection(wxNOT_FOUND); //don't select anything ChangeValue(folderPathPhrase); //preserve main text!