[Libreoffice-commits] online.git: Branch 'distro/collabora/collabora-online-cd-4' - 2 commits - common/MessageQueue.cpp configure.ac debian/changelog debian/control kit/Kit.cpp loolwsd.spec.in wsd/TileDesc.hpp

Andras Timar (via logerrit) logerrit at kemper.freedesktop.org
Thu Aug 29 10:02:57 UTC 2019


 common/MessageQueue.cpp |    2 +-
 configure.ac            |    2 +-
 debian/changelog        |    6 ++++++
 debian/control          |    2 +-
 kit/Kit.cpp             |    4 ++++
 loolwsd.spec.in         |    2 +-
 wsd/TileDesc.hpp        |   14 ++++++++++++++
 7 files changed, 28 insertions(+), 4 deletions(-)

New commits:
commit e4cf75c9c9019f77065c628bf81d20fefe147abc
Author:     Andras Timar <andras.timar at collabora.com>
AuthorDate: Wed Aug 28 15:43:13 2019 +0200
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Aug 29 12:00:08 2019 +0200

    Bump package version to 4.0.6-1
    
    Change-Id: I9878d1541c3a3eb3bf8dff9a8212a6ddd4ab4a9b

diff --git a/configure.ac b/configure.ac
index 6cec31107..dbd9d9a71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 
 AC_PREREQ([2.63])
 
-AC_INIT([loolwsd], [4.0.5], [libreoffice at lists.freedesktop.org])
+AC_INIT([loolwsd], [4.0.6], [libreoffice at lists.freedesktop.org])
 LT_INIT([shared, disable-static, dlopen])
 
 AM_INIT_AUTOMAKE([1.10 subdir-objects tar-pax -Wno-portability])
diff --git a/debian/changelog b/debian/changelog
index 9fb2ac5eb..b70d83888 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+loolwsd (4.0.6-1) unstable; urgency=medium
+
+  * see the git log: http://col.la/coolcd40
+
+ -- Andras Timar <andras.timar at collabora.com>  Thu, 29 Aug 2019 11:00:00 +0100
+
 loolwsd (4.0.5-6) unstable; urgency=medium
 
   * see the git log: http://col.la/coolcd4
diff --git a/debian/control b/debian/control
index 557ab9046..a18e0ee97 100644
--- a/debian/control
+++ b/debian/control
@@ -8,7 +8,7 @@ Standards-Version: 3.9.7
 Package: loolwsd
 Section: web
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, libcurl3-gnutls, libexpat1, libicu55, libjpeg-turbo8, libnss3, libpng12-0, libxml2, libxslt1.1, libsm6, libxinerama1, libxrender1, libgl1-mesa-glx, libcups2, libxcb-render0, libxcb-shm0, locales-all, adduser, expat, fontconfig, cpio, libcap2-bin, collaboraofficebasis6.0-calc (= 6.0.10.29-294), collaboraofficebasis6.0-core (= 6.0.10.29-294), collaboraofficebasis6.0-graphicfilter (= 6.0.10.29-294), collaboraofficebasis6.0-images (= 6.0.10.29-294), collaboraofficebasis6.0-impress (= 6.0.10.29-294), collaboraofficebasis6.0-ooofonts (= 6.0.10.29-294), collaboraofficebasis6.0-writer (= 6.0.10.29-294), collaboraoffice6.0 (= 6.0.10.29-294), collaboraoffice6.0-ure (= 6.0.10.29-294), collaboraofficebasis6.0-en-us (= 6.0.10.29-294), collaboraofficebasis6.0-draw (= 6.0.10.29-294), collaboraofficebasis6.0-extension-pdf-import (= 6.0.10.29-294), collaboraofficebasis6.0-ooolinguistic (= 6.0.10.29-294)
+Depends: ${shlibs:Depends}, ${misc:Depends}, libcurl3-gnutls, libexpat1, libicu55, libjpeg-turbo8, libnss3, libpng12-0, libxml2, libxslt1.1, libsm6, libxinerama1, libxrender1, libgl1-mesa-glx, libcups2, libxcb-render0, libxcb-shm0, locales-all, adduser, expat, fontconfig, cpio, libcap2-bin, collaboraofficebasis6.0-calc (= 6.0.10.29-20190828), collaboraofficebasis6.0-core (= 6.0.10.29-20190828), collaboraofficebasis6.0-graphicfilter (= 6.0.10.29-20190828), collaboraofficebasis6.0-images (= 6.0.10.29-20190828), collaboraofficebasis6.0-impress (= 6.0.10.29-20190828), collaboraofficebasis6.0-ooofonts (= 6.0.10.29-20190828), collaboraofficebasis6.0-writer (= 6.0.10.29-20190828), collaboraoffice6.0 (= 6.0.10.29-20190828), collaboraoffice6.0-ure (= 6.0.10.29-20190828), collaboraofficebasis6.0-en-us (= 6.0.10.29-20190828), collaboraofficebasis6.0-draw (= 6.0.10.29-20190828), collaboraofficebasis6.0-extension-pdf-import (= 6.0.10.29-20190828), collaboraofficebasis6.0-ooolinguistic (= 6.0.10.
 29-20190828)
 Conflicts: collaboraofficebasis6.0-gnome-integration, collaboraofficebasis6.0-kde-integration
 Description: LibreOffice Online WebSocket Daemon
  LOOLWSD is a daemon that talks to web browser clients and provides LibreOffice
diff --git a/loolwsd.spec.in b/loolwsd.spec.in
index 84abe1d5c..aa5c2c97c 100644
--- a/loolwsd.spec.in
+++ b/loolwsd.spec.in
@@ -38,7 +38,7 @@ BuildRequires:  libcap-progs linux-glibc-devel systemd-rpm-macros python-polib
 BuildRequires:  libcap-progs
 %endif
 
-Requires:       collaboraoffice6.0 = 6.0.10.29-29 collaboraoffice6.0-ure = 6.0.10.29-29 collaboraofficebasis6.0-core = 6.0.10.29-29 collaboraofficebasis6.0-writer = 6.0.10.29-29 collaboraofficebasis6.0-impress = 6.0.10.29-29 collaboraofficebasis6.0-graphicfilter = 6.0.10.29-29 collaboraofficebasis6.0-en-US = 6.0.10.29-29 collaboraofficebasis6.0-calc = 6.0.10.29-29 collaboraofficebasis6.0-ooofonts = 6.0.10.29-29 collaboraofficebasis6.0-images = 6.0.10.29-29 collaboraofficebasis6.0-draw = 6.0.10.29-29 collaboraofficebasis6.0-extension-pdf-import = 6.0.10.29-29 collaboraofficebasis6.0-ooolinguistic = 6.0.10.29-29
+Requires:       collaboraoffice6.0 = 6.0.10.29-20190828 collaboraoffice6.0-ure = 6.0.10.29-20190828 collaboraofficebasis6.0-core = 6.0.10.29-20190828 collaboraofficebasis6.0-writer = 6.0.10.29-20190828 collaboraofficebasis6.0-impress = 6.0.10.29-20190828 collaboraofficebasis6.0-graphicfilter = 6.0.10.29-20190828 collaboraofficebasis6.0-en-US = 6.0.10.29-20190828 collaboraofficebasis6.0-calc = 6.0.10.29-20190828 collaboraofficebasis6.0-ooofonts = 6.0.10.29-20190828 collaboraofficebasis6.0-images = 6.0.10.29-20190828 collaboraofficebasis6.0-draw = 6.0.10.29-20190828 collaboraofficebasis6.0-extension-pdf-import = 6.0.10.29-20190828 collaboraofficebasis6.0-ooolinguistic = 6.0.10.29-20190828
 Conflicts:      collaboraofficebasis6.0-kde-integration collaboraofficebasis6.0-gnome-integration
 Requires(post): coreutils grep sed
 %if 0%{?rhel} == 6
commit a7fee287ffb73255e627b6c8c178f51b8ffd8da8
Author:     Michael Meeks <michael.meeks at collabora.com>
AuthorDate: Thu Jul 25 19:44:50 2019 +0100
Commit:     Andras Timar <andras.timar at collabora.com>
CommitDate: Thu Aug 29 11:51:28 2019 +0200

    Don't combine tiles a long way from each other.
    
    We currently combine only horizontally, but ctrl-right arrow in
    calc can throw us to the other side of the sheet, creating a very
    large area to re-render.
    
    Change-Id: I7125ab815e3de1296b3af32632626005eeee0ec9
    (cherry picked from commit f2c6facb296e79a9747f866a94f0ae2269dddc45)
    (cherry picked from commit 8dae787af4593a7b60dc5aad1b9b5f261dfc7354)

diff --git a/common/MessageQueue.cpp b/common/MessageQueue.cpp
index 44781d118..ce639e3f1 100644
--- a/common/MessageQueue.cpp
+++ b/common/MessageQueue.cpp
@@ -510,7 +510,7 @@ TileQueue::Payload TileQueue::get_impl()
         LOG_TRC("Combining candidate: " << LOOLProtocol::getAbbreviatedMessage(msg));
 
         // Check if it's on the same row.
-        if (tiles[0].onSameRow(tile2))
+        if (tiles[0].canCombine(tile2))
         {
             tiles.emplace_back(tile2);
             getQueue().erase(getQueue().begin() + i);
diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 02ed30337..35c37818c 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -1099,6 +1099,10 @@ public:
         const size_t tilesByY = renderArea.getHeight() / tileCombined.getTileHeight();
         const size_t pixmapWidth = tilesByX * tileCombined.getWidth();
         const size_t pixmapHeight = tilesByY * tileCombined.getHeight();
+
+        if (pixmapWidth > 4096 || pixmapHeight > 4096)
+            LOG_WRN("Unusual extremely large tile combine of size " << pixmapWidth << "x" << pixmapHeight);
+
         const size_t pixmapSize = 4 * pixmapWidth * pixmapHeight;
         std::vector<unsigned char> pixmap(pixmapSize, 0);
 
diff --git a/wsd/TileDesc.hpp b/wsd/TileDesc.hpp
index fa945df14..17508e5f7 100644
--- a/wsd/TileDesc.hpp
+++ b/wsd/TileDesc.hpp
@@ -136,6 +136,20 @@ public:
                other.getTilePosY() <= getTilePosY() + getTileHeight();
     }
 
+    bool canCombine(const TileDesc& other) const
+    {
+        if (!onSameRow(other))
+            return false;
+        int gridX = getTilePosX() / getTileWidth();
+        int gridXOther = other.getTilePosX() / other.getTileWidth();
+        int delta = gridX - gridXOther;
+        // a 4k screen - is sixteen 256 pixel wide tiles wide.
+        if (delta < -16 || delta > 16)
+            return false;
+        else
+            return true;
+    }
+
     /// Serialize this instance into a string.
     /// Optionally prepend a prefix.
     std::string serialize(const std::string& prefix = "") const


More information about the Libreoffice-commits mailing list