diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2023-03-10 10:36:22 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2023-03-11 14:44:29 +0000 |
commit | e283ec533c78a231ce25cbebc2ad30fe46605497 (patch) | |
tree | 9e272f3f9250d6949552a0002e30629c0769214d /desktop | |
parent | 85ceeea401ab72d88e73bef1ae67a9a1f8080012 (diff) |
lok: add trimMemory capability, and expand dumpState to caches.
Being able to trigger some more aggressive memory saving is
useful in for both online and mobile.
Change-Id: I9b91c9fe9eecec06c75112595deac0bfeb94c144
Signed-off-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148653
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/qa/desktop_lib/test_desktop_lib.cxx | 3 | ||||
-rw-r--r-- | desktop/source/lib/init.cxx | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index e8971919475c..f74b5b5304d3 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -3559,10 +3559,11 @@ void DesktopLOKTest::testABI() CPPUNIT_ASSERT_EQUAL(classOffset(14), offsetof(struct _LibreOfficeKitClass, setOption)); CPPUNIT_ASSERT_EQUAL(classOffset(15), offsetof(struct _LibreOfficeKitClass, dumpState)); CPPUNIT_ASSERT_EQUAL(classOffset(16), offsetof(struct _LibreOfficeKitClass, extractRequest)); + CPPUNIT_ASSERT_EQUAL(classOffset(17), offsetof(struct _LibreOfficeKitClass, trimMemory)); // When extending LibreOfficeKit with a new function pointer, add new assert for the offsetof the // new function pointer and bump this assert for the size of the class. - CPPUNIT_ASSERT_EQUAL(classOffset(17), sizeof(struct _LibreOfficeKitClass)); + CPPUNIT_ASSERT_EQUAL(classOffset(18), sizeof(struct _LibreOfficeKitClass)); CPPUNIT_ASSERT_EQUAL(documentClassOffset(0), offsetof(struct _LibreOfficeKitDocumentClass, destroy)); CPPUNIT_ASSERT_EQUAL(documentClassOffset(1), offsetof(struct _LibreOfficeKitDocumentClass, saveAs)); diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 6d0a32b5a25e..28849bb4161e 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -2524,6 +2524,8 @@ static bool lo_signDocument(LibreOfficeKit* pThis, static char* lo_extractRequest(LibreOfficeKit* pThis, const char* pFilePath); +static void lo_trimMemory(LibreOfficeKit* pThis, int nTarget); + static void lo_runLoop(LibreOfficeKit* pThis, LibreOfficeKitPollCallback pPollCallback, LibreOfficeKitWakeCallback pWakeCallback, @@ -3143,6 +3145,11 @@ static char* lo_extractRequest(LibreOfficeKit* /*pThis*/, const char* pFilePath) return convertOUString(result); } +static void lo_trimMemory(LibreOfficeKit* /* pThis */, int nTarget) +{ + vcl::lok::trimMemory(nTarget); +} + static void lo_registerCallback (LibreOfficeKit* pThis, LibreOfficeKitCallback pCallback, void* pData) |