[Libreoffice-commits] core.git: Branch 'distro/lhm/libreoffice-4-1-6+backports' - 8 commits - .gitreview harfbuzz/ExternalProject_harfbuzz.mk include/basebmp include/formula solenv/gbuild vcl/source vcl/unx
Michael Stahl
Michael.Stahl at cib.de
Thu Jul 12 12:03:43 UTC 2018
.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.Stahl at 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.meeks at 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 <ci at libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at 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 <mstahl at 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 <tml at 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 <sbergman at 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 <mstahl at 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.Behrens at 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.Behrens at CIB.de>
Tested-by: Thorsten Behrens <Thorsten.Behrens at 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.Stahl at 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
More information about the Libreoffice-commits
mailing list