Package Details: freefilesync 14.0-2

Git Clone URL: https://aur.archlinux.org/freefilesync.git (read-only, click to copy)
Package Base: freefilesync
Description: Backup software to synchronize files and folders
Upstream URL: https://freefilesync.org
Licenses: custom
Submitter: tee
Maintainer: tee
Last Packager: tee
Votes: 5
Popularity: 1.09
First Submitted: 2024-03-26 09:59 (UTC)
Last Updated: 2025-02-03 14:36 (UTC)

Latest Comments

1 2 Next › Last »

EndUserOnly commented on 2025-02-03 15:49 (UTC)

Thank you for what you do.

tee commented on 2025-02-03 14:38 (UTC)

@EndUserOnly

This is not my fault, the developer is silently updating the source file without bumping the version number. It's happened before, may happen again.

diff:

diff --git a/14_old/Bugs.txt b/14_new/Bugs.txt
index ca5e61c..ec9697d 100644
--- a/14_old/Bugs.txt
+++ b/14_new/Bugs.txt
@@ -199,6 +199,37 @@ See: http://soundfile.sapp.org/doc/WaveFormat/ => skip 8 bytes (Subchunk2ID and
 -    m_data->m_data = (&m_data->m_dataWithHeader[data_offset]);
 +    m_data->m_data = (&m_data->m_dataWithHeader[data_offset + 8]);

+__________________________________________________________________________________________________________
+/src/common/bmpbndl.cpp
+DoGetPreferredSize()'s lossy "GetDefaultSize()*scaleBest" calculation can be 1-pixel-off compared to real image size => superfluous + ugly-looking image shrinking!
+
+ wxSize wxBitmapBundleImplSet::GetPreferredBitmapSizeAtScale(double scale) const
+ {
++    //work around  DoGetPreferredSize()'s flawed "GetDefaultSize()*scaleBest" calculation
++    for (const auto& entry : m_entries)
++        if (entry.bitmap.GetScaleFactor() == scale)
++            return entry.bitmap.GetSize();
++
+     return DoGetPreferredSize(scale);
+ }
+
+__________________________________________________________________________________________________________
+/src/common/stattextcmn.cpp
+Fix wxWidgets stupidly doing *nothing* when trimming east asian language strings with few spaces
+
+   // Find the last word to chop off.
+-  const size_t lastSpace = line.rfind(' ', posEnd);
+
++  size_t lastSpace = line.rfind(' ', posEnd);
++
++  //no, wxWidgets we are not even close to "can't wrap"!
++  if (lastSpace == wxString::npos)
++  {
++      lastSpace = line.find(' ');
++      if (lastSpace != wxString::npos && lastSpace > 0)
++         widthMax = widths[lastSpace - 1];
++  }
+
 __________________________________________________________________________________________________________
 /src/gtk/button.cpp
 now this is absurd: if we add wxTranslations for "&OK/&Cancel", wxWidgets will detect "wxIsStockLabel()",
@@ -220,3 +251,28 @@ https://github.com/wxWidgets/wxWidgets/blob/6561ca020048de57ec28fec5b27f80b00d44
 -    }
     wxGCC_WARNING_RESTORE()
 #endif
+
+__________________________________________________________________________________________________________
+/src/common/toplvcmn.cpp
+wxTopLevelWindow::Destroy() uses wxPendingDelete for deferred deletion during next idle event.
+There might not be a next idle event! E.g. on GTK2 a hidden window doesn't receive idle events.
+Reproduce on GTK2+KDE for toplevel window: Hide(); wxTheApp->Yield(); Destroy(); => process not exiting! https://freefilesync.org/forum/viewtopic.php?t=11935
+
+-    for ( wxWindowList::const_iterator i = wxTopLevelWindows.begin(),
+-          end = wxTopLevelWindows.end();
+-          i != end;
+-          ++i )
+-    {
+-        wxTopLevelWindow* const win = static_cast<wxTopLevelWindow*>(*i);
+-        if ( win != this && win->IsShown() )
+-        {
+-            // there remains at least one other visible TLW, we can hide this
+-            // one
+-            Hide();
+-
+-            break;
+-        }
+-    }
++    Hide();
++    wxWakeUpIdle();
+__________________________________________________________________________________________________________

EndUserOnly commented on 2025-02-03 14:26 (UTC)

freefilesync has been failing to build on my system for awhile now:

==> ERROR: One or more files did not pass the validity check! error: failed to download sources for 'freefilesync-14.0-1': error: packages failed to build: freefilesync-14.0-1

pelopor commented on 2025-01-31 17:11 (UTC)

It seems that the problem is not FreeFileSync itself, but wxWidget. https://freefilesync.org/forum/viewtopic.php?p=46566

tee commented on 2025-01-22 08:08 (UTC)

@atescula i dont have a fix right now, if someone does please post it here

atescula commented on 2025-01-21 11:50 (UTC)

Starting build()... In file included from ui/cfg_grid.h:10, from ui/cfg_grid.cpp:7: ../../wx+/grid.h:110:46: error: ‘wxReadOnlyDC’ does not name a type 110 | virtual int getBestSize (const wxReadOnlyDC& dc, size_t row, ColumnType colType); //must correspond to renderCell()! | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/ui/cfg_grid.cpp.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from config.h:12, from application.h:13, from application.cpp:7: ../../wx+/darkmode.h:19:27: error: ‘Appearance’ in ‘class wxApp’ does not name a type 19 | using ColorTheme = wxApp::Appearance; //why reinvent the wheel? | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/application.cpp.o] Error 1 In file included from config.h:12, from config.cpp:7: ../../wx+/darkmode.h:19:27: error: ‘Appearance’ in ‘class wxApp’ does not name a type 19 | using ColorTheme = wxApp::Appearance; //why reinvent the wheel? | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/config.cpp.o] Error 1 In file included from ui/../config.h:12, from ui/batch_status_handler.h:12, from ui/batch_status_handler.cpp:7: ../../wx+/darkmode.h:19:27: error: ‘Appearance’ in ‘class wxApp’ does not name a type 19 | using ColorTheme = wxApp::Appearance; //why reinvent the wheel? | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/ui/batch_status_handler.cpp.o] Error 1 In file included from config.h:12, from base_tools.h:12, from base_tools.cpp:7: ../../wx+/darkmode.h:19:27: error: ‘Appearance’ in ‘class wxApp’ does not name a type 19 | using ColorTheme = wxApp::Appearance; //why reinvent the wheel? | ^~ compilation terminated due to -Wfatal-errors. In file included from ui/../config.h:12, from ui/batch_config.h:11, from ui/batch_config.cpp:7: ../../wx+/darkmode.h:19:27: error: ‘Appearance’ in ‘class wxApp’ does not name a type 19 | using ColorTheme = wxApp::Appearance; //why reinvent the wheel? | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/base_tools.cpp.o] Error 1 make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/ui/batch_config.cpp.o] Error 1 In file included from ui/gui_generated.h:18, from ui/abstract_folder_picker.cpp:12: ../../wx+/grid.h:110:46: error: ‘wxReadOnlyDC’ does not name a type 110 | virtual int getBestSize (const wxReadOnlyDC& dc, size_t row, ColumnType colType); //must correspond to renderCell()! | ^~ compilation terminated due to -Wfatal-errors. make: *** [Makefile:128: /tmp/FreeFileSync_Make/ffs/src/ui/abstract_folder_picker.cpp.o] Error 1 ==> ERROR: A failure occurred in build(). Aborting... -> error making: freefilesync-exit status 4 -> Failed to install the following packages. Manual intervention is required: freefilesync - exit status 4

tee commented on 2024-05-11 07:45 (UTC)

@JTundley

Thanks for the notice. Seems like there was a silent new release of 13.6.

Differences:

diff --git a/136_a/FreeFileSync/Source/afs/abstract.h b/136_b/FreeFileSync/Source/afs/abstract.h
index 236a8d6..834b834 100644
--- a/136_a/FreeFileSync/Source/afs/abstract.h
+++ b/136_b/FreeFileSync/Source/afs/abstract.h
@@ -488,7 +488,7 @@ AbstractFileSystem::OutputStream::~OutputStream()
         try { AbstractFileSystem::removeFilePlain(filePath_); /*throw FileError*/ }
         catch (const zen::FileError& e) { zen::logExtraError(e.toString()); }

-        //warn_static("we should not log if not existing anymore!?:       ERROR_FILE_NOT_FOUND: ddddddddddd [DeleteFile]")
+        warn_static("we should not log if not existing anymore!?:       ERROR_FILE_NOT_FOUND: ddddddddddd [DeleteFile]")
     //solution: integrate cleanup into ~OutputStreamImpl() including appropriate loggin!
 }

diff --git a/136_a/FreeFileSync/Source/ui/main_dlg.cpp b/136_b/FreeFileSync/Source/ui/main_dlg.cpp
index 3e176eb..88bae15 100644
--- a/136_a/FreeFileSync/Source/ui/main_dlg.cpp
+++ b/136_b/FreeFileSync/Source/ui/main_dlg.cpp
@@ -340,6 +340,11 @@ public:
         guiDisabled_ = true;
         disableGuiElementsImpl(enableAbort);
     }
+    
+    void dismiss()
+    {
+          opStarted_ = guiDisabled_ = false;
+    }

 private:
     SingleOperationBlocker           (const SingleOperationBlocker&) = delete;
@@ -5075,6 +5080,7 @@ void MainDialog::onStartSync(wxCommandEvent& event)

         case FinalRequest::exit:
             Destroy(); //don't use Close() which prompts to save current config in onClose()
+            opBlock.dismiss(); //...or else we'll crash when ~SingleOperationBlocker() calls Yield()!
             break;

         case FinalRequest::shutdown:

JThundley commented on 2024-05-10 18:59 (UTC) (edited on 2024-05-10 19:00 (UTC) by JThundley)

The current version fails to build:

==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
    FreeFileSync_13.6_Source.zip.1 ... Skipped
    FreeFileSync_13.6_Source.zip ... FAILED
    FreeFileSync.desktop ... Passed
    RealTimeSync.desktop ... Passed
==> ERROR: One or more files did not pass the validity check!
 -> error downloading sources: /home/jt/.cache/yay/freefilesync 
         context: exit status 1 

tee commented on 2024-04-10 08:23 (UTC)

@Aroun

See https://freefilesync.org/forum/viewtopic.php?t=9444 and https://freefilesync.org/forum/viewtopic.php?t=9445. Seems to go away after the first run unless you open the About dialog.

I've disabled the code that loads Animal.dat. But this really is a problem for the developer to fix.