void-packages/srcpkgs/spacefm/patches/portability.patch
2015-08-29 12:39:56 +02:00

98 lines
3.6 KiB
Diff

From 0a36100d556c2ff0cab394616b87b4105d6728fd Mon Sep 17 00:00:00 2001
From: Stuart Cardall <developer@it-offshore.co.uk>
Date: Sat, 29 Aug 2015 00:36:23 +0000
Subject: [PATCH] fix malloc_trim for non GlibC libraries
---
src/main-window.c | 4 +++-
src/ptk/ptk-file-browser.c | 20 +++++++++++++-------
src/vfs/vfs-dir.c | 8 +++++++-
3 files changed, 23 insertions(+), 9 deletions(-)
diff --git src/main-window.c src/main-window.c
index 016d070..908c788 100644
--- src/main-window.c
+++ src/main-window.c
@@ -1216,7 +1216,9 @@ void main_window_toggle_thumbnails_all_windows()
/* Ensuring free space at the end of the heap is freed to the OS,
* mainly to deal with the possibility thousands of large thumbnails
* have been freed but the memory not actually released by SpaceFM */
- malloc_trim(0);
+ #if defined (__GLIBC__)
+ malloc_trim(0);
+ #endif
}
void focus_panel( GtkMenuItem* item, gpointer mw, int p )
diff --git src/ptk/ptk-file-browser.c src/ptk/ptk-file-browser.c
index ac898d0..ccbd282 100644
--- src/ptk/ptk-file-browser.c
+++ src/ptk/ptk-file-browser.c
@@ -1513,7 +1513,9 @@ void ptk_file_browser_finalize( GObject *obj )
* mainly to deal with the possibility that killing the browser results in
* thousands of large thumbnails being freed, but the memory not actually
* released by SpaceFM */
- malloc_trim(0);
+ #if defined (__GLIBC__)
+ malloc_trim(0);
+ #endif
}
void ptk_file_browser_get_property ( GObject *obj,
@@ -2703,11 +2705,13 @@ void on_dir_file_listed( VFSDir* dir,
ptk_file_browser_update_model( file_browser );
file_browser->busy = FALSE;
- /* Ensuring free space at the end of the heap is freed to the OS,
- * mainly to deal with the possibility that changing the directory results in
- * thousands of large thumbnails being freed, but the memory not actually
- * released by SpaceFM */
- malloc_trim(0);
+ /* Ensuring free space at the end of the heap is freed to the OS,
+ * mainly to deal with the possibility that changing the directory results in
+ * thousands of large thumbnails being freed, but the memory not actually
+ * released by SpaceFM */
+ #if defined (__GLIBC__)
+ malloc_trim(0);
+ #endif
g_signal_emit( file_browser, signals[ AFTER_CHDIR_SIGNAL ], 0 );
//g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 );
@@ -4556,7 +4560,9 @@ void ptk_file_browser_refresh( GtkWidget* item, PtkFileBrowser* file_browser )
/* Ensuring free space at the end of the heap is freed to the OS,
* mainly to deal with the possibility thousands of large thumbnails
* have been freed but the memory not actually released by SpaceFM */
- malloc_trim(0);
+ #if defined (__GLIBC__)
+ malloc_trim(0);
+ #endif
// begin load dir
file_browser->busy = TRUE;
diff --git src/vfs/vfs-dir.c src/vfs/vfs-dir.c
index 9546713..555ad00 100644
--- src/vfs/vfs-dir.c
+++ src/vfs/vfs-dir.c
@@ -21,7 +21,11 @@
#include <string.h>
#include <fcntl.h> /* for open() */
+
+#if defined (__GLIBC__)
#include <malloc.h> /* for malloc_trim */
+#endif
+
#include <unistd.h> /* for read */
#include "vfs-volume.h"
@@ -1193,7 +1197,9 @@ void vfs_dir_unload_thumbnails( VFSDir* dir, gboolean is_big )
/* Ensuring free space at the end of the heap is freed to the OS,
* mainly to deal with the possibility thousands of large thumbnails
* have been freed but the memory not actually released by SpaceFM */
- malloc_trim(0);
+ #if defined (__GLIBC__)
+ malloc_trim(0);
+ #endif
}
//sfm added mime change timer