Rebased ref, commits from common ancestor:
commit 8f6ba18b96f89100bf4cc4f00e5167817dc7be11
Author:     Thorsten Behrens <thorsten.behr...@cib.de>
AuthorDate: Tue Sep 17 00:36:13 2019 +0200
Commit:     Thorsten Behrens <thorsten.behr...@cib.de>
CommitDate: Tue Sep 17 00:36:13 2019 +0200

    Bump version to 6.1.7.5
    
    Change-Id: I499cddc2e39c909f5673672c090ec834b0743f0f

diff --git a/configure.ac b/configure.ac
index 0b3c2f61b7b4..c159c4048da6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@ dnl in order to create a configure script.
 # several non-alphanumeric characters, those are split off and used only for 
the
 # ABOUTBOXPRODUCTVERSIONSUFFIX in openoffice.lst. Why that is necessary, no 
idea.
 
-AC_INIT([LibreOffice powered by 
CIB],[6.1.7.4],[],[],[https://libreoffice.cib.eu/])
+AC_INIT([LibreOffice powered by 
CIB],[6.1.7.5],[],[],[https://libreoffice.cib.eu/])
 
 AC_PREREQ([2.59])
 
commit e6bdbd6f62d99e25360de7989bde34985c83c1af
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Tue Jul 2 18:31:46 2019 +0200
Commit:     Thorsten Behrens <thorsten.behr...@cib.de>
CommitDate: Tue Sep 17 00:35:05 2019 +0200

    sw: fix moving of at-page anchored flys to different page
    
    The problem is that some flys are anchored at a page with Y pos 35k and
    are moved to a page with Y pos 17k, while retaining
    mbFrameAreaPositionValid=true and their existing Y position.
    
    The flys will never be painted or even invalidated again because their
    position is off-page.
    
    This is somehow a regression from commit
    0b53f794ffb2550288610b9488f11fd21ab85aae - without the new mutation of
    an empty-page to a normal page due to at-page flys by resetting
    m_bEmptyPage in SwPageFrame::UpdateAttr_() on it the problem didn't
    happen.
    
    Due to the above commit, the page 3 is not an empty-page any more as it
    has 2 flys anchored on it; previously those flys were moved (only in the
    layout, not in the model!) to page 4 by some funny code in
    SwRootFrame::AssertPageFlys(), which at first glance seems like an
    improvement.
    
    Change-Id: Ia071931b26e64245f90233232dd2ac0d64365ce6
    Reviewed-on: https://gerrit.libreoffice.org/75009
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    (cherry picked from commit 5cee586a97a11c23dd252accc42099bd5e9b4187)
    Reviewed-on: https://gerrit.libreoffice.org/75049
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>

diff --git a/sw/source/core/layout/flylay.cxx b/sw/source/core/layout/flylay.cxx
index 36bc46ba762c..fea1582c226c 100644
--- a/sw/source/core/layout/flylay.cxx
+++ b/sw/source/core/layout/flylay.cxx
@@ -854,6 +854,8 @@ void SwPageFrame::AppendFlyToPage( SwFlyFrame *pNew )
         pNew->InvalidatePage( this );
         // #i28701#
         pNew->UnlockPosition();
+        // needed to reposition at-page anchored flys moved from different page
+        pNew->InvalidateObjPos();
 
         // Notify accessible layout. That's required at this place for
         // frames only where the anchor is moved. Creation of new frames
commit dd928e41f7b34f6fa0c01a94d20f4f33535f9797
Author:     Jan-Marek Glogowski <jan-marek.glogow...@extern.cib.de>
AuthorDate: Wed Sep 11 14:35:19 2019 +0200
Commit:     Thorsten Behrens <thorsten.behr...@cib.de>
CommitDate: Tue Sep 17 00:35:04 2019 +0200

    WIN allow setting a memory limit for soffice.bin
    
    This adds a Win32 section and two keys to the bootstrap.ini, which
    can be used to apply a memory limit to the soffice.bin process on
    Windows. Per default the limit won't affect any sub-processes,
    because the 2nd key adds JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK to
    the Jobs' flag list.
    
    To activte the limit, extend the bootstrap.ini like this:
    
    [Win32]
    LimitMaximumMemoryInMB=0
    ExcludeChildProcessesFromLimit=true
    
    and adapt the values to your needs. Zero disables the limit.
    
    Reviewed-on: https://gerrit.libreoffice.org/78819
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de>
    (cherry picked from commit 6df7568e46b7f307ad6ae94730809fe63a6981a6)
    
    Change-Id: Ic474c6d6cdfe5ff3cfadbe6614030442171df1ae
    Reviewed-on: https://gerrit.libreoffice.org/78885
    Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de>
    Tested-by: Thorsten Behrens <thorsten.behr...@cib.de>

diff --git a/desktop/Executable_soffice.mk b/desktop/Executable_soffice.mk
index d1847d7bf76a..5c9a081ff22e 100644
--- a/desktop/Executable_soffice.mk
+++ b/desktop/Executable_soffice.mk
@@ -11,6 +11,10 @@ $(eval $(call gb_Executable_Executable,soffice))
 
 $(eval $(call gb_Executable_set_targettype_gui,soffice,YES))
 
+$(eval $(call gb_Executable_use_externals,soffice,\
+    boost_headers \
+))
+
 $(eval $(call gb_Executable_use_system_win32_libs,soffice,\
     advapi32 \
     shell32 \
diff --git a/desktop/win32/source/officeloader/officeloader.cxx 
b/desktop/win32/source/officeloader/officeloader.cxx
index cd471ca2a5f9..728ad9faa7f3 100644
--- a/desktop/win32/source/officeloader/officeloader.cxx
+++ b/desktop/win32/source/officeloader/officeloader.cxx
@@ -23,6 +23,10 @@
 #include <stdlib.h>
 #include <desktop/exithelper.h>
 
+#include <fstream>
+#include <boost/property_tree/ptree.hpp>
+#include <boost/property_tree/ini_parser.hpp>
+
 #include "../loader.hxx"
 
 static LPWSTR *GetCommandArgs( int *pArgc )
@@ -65,6 +69,47 @@ int WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int )
         cwdLen = 0;
     }
 
+    // read limit values from bootstrap.ini
+    unsigned int nMaxMemoryInMB = 0;
+    bool bExcludeChildProcesses = true;
+
+    const WCHAR* szIniFile = L"\\bootstrap.ini";
+    const size_t nDirLen = wcslen(szIniDirectory);
+    if (wcslen(szIniFile) + nDirLen < MAX_PATH)
+    {
+        WCHAR szBootstrapIni[MAX_PATH];
+        wcscpy(szBootstrapIni, szIniDirectory);
+        wcscpy(&szBootstrapIni[nDirLen], szIniFile);
+
+        try
+        {
+            boost::property_tree::ptree pt;
+            std::ifstream aFile(szBootstrapIni);
+            boost::property_tree::ini_parser::read_ini(aFile, pt);
+            nMaxMemoryInMB = pt.get("Win32.LimitMaximumMemoryInMB", 
nMaxMemoryInMB);
+            bExcludeChildProcesses = 
pt.get("Win32.ExcludeChildProcessesFromLimit", bExcludeChildProcesses);
+        }
+        catch (...)
+        {
+            nMaxMemoryInMB = 0;
+        }
+    }
+
+    // create a Windows JobObject with a memory limit
+    HANDLE hJobObject = NULL;
+    if (nMaxMemoryInMB > 0)
+    {
+        JOBOBJECT_EXTENDED_LIMIT_INFORMATION aJobLimit;
+        aJobLimit.BasicLimitInformation.LimitFlags = 
JOB_OBJECT_LIMIT_JOB_MEMORY;
+        if (bExcludeChildProcesses)
+            aJobLimit.BasicLimitInformation.LimitFlags |= 
JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK;
+        aJobLimit.JobMemoryLimit = nMaxMemoryInMB * 1024 * 1024;
+        hJobObject = CreateJobObjectW(NULL, NULL);
+        if (hJobObject != NULL)
+            SetInformationJobObject(hJobObject, 
JobObjectExtendedLimitInformation, &aJobLimit,
+                                    
sizeof(JOBOBJECT_EXTENDED_LIMIT_INFORMATION));
+    }
+
     do
     {
         if ( bFirst ) {
@@ -157,6 +202,9 @@ int WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int )
         {
             DWORD   dwWaitResult;
 
+            if (hJobObject)
+                AssignProcessToJobObject(hJobObject, aProcessInfo.hProcess);
+
             do
             {
                 // On Windows XP it seems as the desktop calls 
WaitForInputIdle after "OpenWidth" so we have to do so
@@ -180,6 +228,10 @@ int WINAPI wWinMain( HINSTANCE, HINSTANCE, LPWSTR, int )
         }
     } while ( fSuccess
               && ( EXITHELPER_CRASH_WITH_RESTART == dwExitCode || 
EXITHELPER_NORMAL_RESTART == dwExitCode ));
+
+    if (hJobObject)
+        CloseHandle(hJobObject);
+
     delete[] lpCommandLine;
     LocalFree(argv);
 
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to