.gitreview | 2 +- harfbuzz/ExternalProject_harfbuzz.mk | 1 + include/basebmp/packedpixeliterator.hxx | 8 +++++--- include/formula/grammar.hxx | 2 +- solenv/gbuild/platform/unxgcc.mk | 1 + vcl/source/glyphs/graphite_layout.cxx | 16 +++++++++------- vcl/unx/gtk/app/gtksys.cxx | 23 +++++++++++++++++------ 7 files changed, 35 insertions(+), 18 deletions(-)
New commits: commit 55cb130917ffbee681e0ba26d711e7e66ae3cafc Author: Michael Stahl <michael.st...@cib.de> Date: Wed Jul 11 15:16:48 2018 +0200 basebmp: #ifdef some dead code libreoffice-4-1-6+backports/include/basebmp/packedpixeliterator.hxx:607:35: error: expression cannot be used as a function const int remainder( x(d.x) % num_intraword_positions ); This was removed in: commit 1b4dff2c371d31c99f34324c3f6f31888bdc34d7 "loplugin:unusedmethods" Change-Id: I3bfc28da8f977633f0b4d808237235a5316338c4 diff --git a/include/basebmp/packedpixeliterator.hxx b/include/basebmp/packedpixeliterator.hxx index 61584272bfbd..8a94baa2c265 100644 --- a/include/basebmp/packedpixeliterator.hxx +++ b/include/basebmp/packedpixeliterator.hxx @@ -602,6 +602,7 @@ public: >> get_shift<num_intraword_positions, bits_per_pixel, MsbFirst>(remainder)); } +#if 0 value_type get(difference_type const & d) const { const int remainder( x(d.x) % num_intraword_positions ); @@ -610,6 +611,7 @@ public: get_mask<value_type, bits_per_pixel, MsbFirst>(remainder)) >> get_shift<num_intraword_positions, bits_per_pixel, MsbFirst>(remainder)); } +#endif void set( value_type v ) const { commit 7c3db9ca5fd244e8a7faa812f0218216f8c53f2d Author: Michael Meeks <michael.me...@collabora.com> Date: Fri May 16 21:49:23 2014 +0100 vcl: GTK: fix libstdc++ "irreflexive" assert /usr/include/c++/6.1.1/bits/stl_algo.h:4737: Error: comparison doesn't meet irreflexive requirements, assert(!(a < a)). GdkRectangleCoincident is clearly not a less-than operator as required for std::sort. (cherry picked from commit e2b267b1906817cc45f0e4896bed58cff5b6b0f9) Reviewed-on: https://gerrit.libreoffice.org/26762 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit 8851333f8aafe84ca9479faf24d9164035aff520) squashed dependency: fdo#78799 - ignore overlayed monitors with co-incident origin. This happens with certain fglrx drivers etc. where 'cloned' is not set but instead both monitors are placed over the top of each other (by XFCE) -> work around that. (cherry picked from commit 5eeea7c91d87ee8f0b8bc8c0144c04fb84310bbf) Change-Id: If2e65d420dc8cdf0707081361a40d4eaea28424e diff --git a/vcl/unx/gtk/app/gtksys.cxx b/vcl/unx/gtk/app/gtksys.cxx index 1d2d7313b564..bd723eca36b8 100644 --- a/vcl/unx/gtk/app/gtksys.cxx +++ b/vcl/unx/gtk/app/gtksys.cxx @@ -55,15 +55,25 @@ GtkSalSystem::GetDisplayXScreenCount() namespace { -struct GdkRectangleEqual +struct GdkRectangleCoincidentLess { + // fdo#78799 - detect and elide overlaying monitors of different sizes + bool operator()(GdkRectangle const& rLeft, GdkRectangle const& rRight) + { + return + rLeft.x < rRight.x + || rLeft.y < rRight.y + ; + } +}; +struct GdkRectangleCoincident +{ + // fdo#78799 - detect and elide overlaying monitors of different sizes bool operator()(GdkRectangle const& rLeft, GdkRectangle const& rRight) { return rLeft.x == rRight.x && rLeft.y == rRight.y - && rLeft.width == rRight.width - && rLeft.height == rRight.height ; } }; @@ -95,10 +105,11 @@ GtkSalSystem::countScreenMonitors() gdk_screen_get_monitor_geometry(pScreen, j, &aGeometry); aGeometries.push_back(aGeometry); } - GdkRectangleEqual aCmp; - std::sort(aGeometries.begin(), aGeometries.end(), aCmp); + std::sort(aGeometries.begin(), aGeometries.end(), + GdkRectangleCoincidentLess()); const std::vector<GdkRectangle>::iterator aUniqueEnd( - std::unique(aGeometries.begin(), aGeometries.end(), aCmp)); + std::unique(aGeometries.begin(), aGeometries.end(), + GdkRectangleCoincident())); nMonitors = std::distance(aGeometries.begin(), aUniqueEnd); } maScreenMonitors.push_back(std::make_pair(pScreen, nMonitors)); commit d38e5414ae7d9629e8598e73529992eee7b85e0d Author: Michael Stahl <mst...@redhat.com> Date: Thu Mar 12 15:40:05 2015 +0100 formula: PVS-Studio V610 Undefined behavior shift negative signed int Change-Id: If6c054abfab6ba421a6924a65dac76782e6eaa0b (cherry picked from commit f1b5381ed70a21a6f460bcd6a8bedad10b9a5a02) diff --git a/include/formula/grammar.hxx b/include/formula/grammar.hxx index eaa77c2dbd97..a2b545bb1e62 100644 --- a/include/formula/grammar.hxx +++ b/include/formula/grammar.hxx @@ -58,7 +58,7 @@ public: // Room for 256 reference conventions. static const int kEnglishBit = (1 << (kConventionShift + 8)); // Mask off all non-language bits. - static const int kFlagMask = ~((~int(0)) << kConventionShift); + static const int kFlagMask = ~((~unsigned(0)) << kConventionShift); /** Values encoding the formula language plus address reference convention plus English parsing/formatting commit 3aa051f9c94b7bc0311c51a063f43322a9f6f772 Author: Tor Lillqvist <t...@collabora.com> Date: Tue Jul 8 09:49:50 2014 +0300 Fix some round() confusion Why insist on using the same name as a standard function? Causes confusion with VS2013 at least, "ambiguous call to overloaded function." Sure, this might be caused by a bug in the compiler (or its headers). Or maybe vagueness in the language definition? Who cares, I still claim that intentionally writing an own function called round() is asking for problems. So rename it to round_to_long(). (And then the return value of calls to this function, which is of type 'long', is assigned in a couple of places to variables of type 'int', fun... Intentional, knowing there will be no overflow, or a bug waiting to happen?) Change-Id: If15d44f10f9f05de1c7c79492baf158eee770b8b (cherry picked from commit ba27300d419786ca6fa8a7df950d01f472de3314) diff --git a/vcl/source/glyphs/graphite_layout.cxx b/vcl/source/glyphs/graphite_layout.cxx index a9cb7cc4e21b..76d70468c107 100644 --- a/vcl/source/glyphs/graphite_layout.cxx +++ b/vcl/source/glyphs/graphite_layout.cxx @@ -40,6 +40,8 @@ #include <deque> // Platform +#include <config_global.h> + #include <svsys.h> #include <salgdi.hxx> @@ -82,7 +84,7 @@ static FILE * grLog() namespace { - inline long round(const float n) { + inline long round_to_long(const float n) { return long(n + (n < 0 ? -0.5 : 0.5)); } @@ -350,8 +352,8 @@ GraphiteLayout::fillFrom(gr_segment * pSegment, ImplLayoutArgs &rArgs, float fSc baseSlot = gr_slot_next_sibling_attachment(baseSlot); } } - long nXOffset = round(fMinX * fScaling); - mnWidth = round(fMaxX * fScaling) - nXOffset + nDxOffset; + long nXOffset = round_to_long(fMinX * fScaling); + mnWidth = round_to_long(fMaxX * fScaling) - nXOffset + nDxOffset; if (mnWidth < 0) { // This can happen when there was no base inside the range @@ -422,8 +424,8 @@ GraphiteLayout::append(gr_segment *pSeg, ImplLayoutArgs &rArgs, nextOrigin = nextGlyphOrigin; long glyphId = gr_slot_gid(gi); long deltaOffset = 0; - int scaledGlyphPos = round(gr_slot_origin_X(gi) * scaling); - int glyphWidth = round((nextOrigin - gOrigin) * scaling); + int scaledGlyphPos = round_to_long(gr_slot_origin_X(gi) * scaling); + int glyphWidth = round_to_long((nextOrigin - gOrigin) * scaling); // if (glyphWidth < 0) // { // nextOrigin = gOrigin; @@ -465,11 +467,11 @@ GraphiteLayout::append(gr_segment *pSeg, ImplLayoutArgs &rArgs, GlyphItem aGlyphItem(mvGlyphs.size(), glyphId, Point(scaledGlyphPos + rDXOffset, - round((-gr_slot_origin_Y(gi) * scaling))), + round_to_long((-gr_slot_origin_Y(gi) * scaling))), nGlyphFlags, glyphWidth); if (glyphId != static_cast<long>(GF_DROPPED)) - aGlyphItem.mnOrigWidth = round(gr_slot_advance_X(gi, mpFace, mpFont) * scaling); + aGlyphItem.mnOrigWidth = round_to_long(gr_slot_advance_X(gi, mpFace, mpFont) * scaling); mvGlyphs.push_back(aGlyphItem); // update the offset if this glyph was dropped commit 4182477f0ea85319d3972f6b71cc656126d7bb04 Author: Stephan Bergmann <sberg...@redhat.com> Date: Tue Jan 19 10:43:21 2016 +0100 -Werror=shift-negative-value (GCC 6) Change-Id: Ifc7b1d6675a8e8fb41dd47cc1282059c3790736f (cherry picked from commit 352f9fdff619b5a0a1414c29cfc47068165a599c) diff --git a/include/basebmp/packedpixeliterator.hxx b/include/basebmp/packedpixeliterator.hxx index 89a88506bbcd..61584272bfbd 100644 --- a/include/basebmp/packedpixeliterator.hxx +++ b/include/basebmp/packedpixeliterator.hxx @@ -79,7 +79,7 @@ public: num_intraword_positions=sizeof(value_type)*8/bits_per_pixel, /** Bit mask for one pixel (least significant bits) */ - bit_mask=~(~0 << bits_per_pixel) + bit_mask=~(~0u << bits_per_pixel) }; private: @@ -249,7 +249,7 @@ public: num_intraword_positions=sizeof(value_type)*8/bits_per_pixel, /** Bit mask for one pixel (least significant bits) */ - bit_mask=~(~0 << bits_per_pixel) + bit_mask=~(~0u << bits_per_pixel) }; private: @@ -502,7 +502,7 @@ public: num_intraword_positions=sizeof(value_type)*8/bits_per_pixel, /** Bit mask for one pixel (least significant bits) */ - bit_mask=~(~0 << bits_per_pixel) + bit_mask=~(~0u << bits_per_pixel) }; // TODO(F2): direction of iteration (ImageIterator can be made to commit 39249535ee938972e8b3dbc196c19139709a9014 Author: Michael Stahl <mst...@redhat.com> Date: Thu Feb 18 14:06:35 2016 +0100 fdo#94009: harfbuzz: don't export symbols from VCL Should fix crashes due to symbol clashes in ELF global namespace where system's libharfbuzz.so.0 is loaded as well. (cherry picked from commit 549130ab5d9616f7eb5504db31546b386737ccb2) Change-Id: I35ffcbe4ac4de5a25cd8bf0cb9a8f0c11f4554c5 diff --git a/harfbuzz/ExternalProject_harfbuzz.mk b/harfbuzz/ExternalProject_harfbuzz.mk index 007e3dd0fc59..7651496e8d2a 100644 --- a/harfbuzz/ExternalProject_harfbuzz.mk +++ b/harfbuzz/ExternalProject_harfbuzz.mk @@ -26,6 +26,7 @@ $(call gb_ExternalProject_get_state_target,harfbuzz,build) : --disable-shared \ --with-pic \ $(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \ + $(if $(filter LINUX,$(OS)),CXXFLAGS="$(CXXFLAGS) -fvisibility=hidden") \ && (cd $(EXTERNAL_WORKDIR)/src && $(MAKE) libharfbuzz.la) \ ) commit 686e15f44af617ded215ae9bb7f4ab99518fcd49 Author: Thorsten Behrens <thorsten.behr...@cib.de> Date: Thu Jul 5 01:33:23 2018 +0200 gcc7: disable -Wdeprecated for dynamic excpt specs gcc started to warn about c++11-deprecated dynamic exception specifications thusly: warning: dynamic exception specifications are deprecated in C++11 [-Wdeprecated] so disable this on the branch instead of a massive backport. See https://en.cppreference.com/w/cpp/language/except_spec for a discussion; this is still perfectly correct c++ code. Change-Id: Iffbb82e4da24fb96fab57f233b8ebe41fbc850fa Reviewed-on: https://gerrit.libreoffice.org/56981 Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> Tested-by: Thorsten Behrens <thorsten.behr...@cib.de> (cherry picked from commit 52b85ab2adf74e82cb598d9273b1639b11c28270) diff --git a/solenv/gbuild/platform/unxgcc.mk b/solenv/gbuild/platform/unxgcc.mk index 4fa4afa67321..b4b213abc903 100644 --- a/solenv/gbuild/platform/unxgcc.mk +++ b/solenv/gbuild/platform/unxgcc.mk @@ -49,6 +49,7 @@ gb_CXXFLAGS := \ $(gb_CXXFLAGS_COMMON) \ -fPIC \ -Wshadow \ + -Wno-deprecated \ -Woverloaded-virtual \ ifneq ($(COM_GCC_IS_CLANG),TRUE) commit 71b5c0ddfa69d5248231434250dde57dd4df899b Author: Michael Stahl <michael.st...@cib.de> Date: Thu Jul 12 10:58:53 2018 +0200 fix the .gitreview to point to the correct distro/lhm/... branch Change-Id: Ia6314791f3820393b178edc30f3293d6fa688530 diff --git a/.gitreview b/.gitreview index a0e5e6b4dd3c..d53584680a47 100644 --- a/.gitreview +++ b/.gitreview @@ -3,5 +3,5 @@ host=logerrit port=29418 project=core defaultremote=logerrit -defaultbranch=libreoffice-4-1-6 +defaultbranch=distro/lhm/libreoffice-4-1-6+backports _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits