extra/libreoffice-fresh to 5.2.3-1

This commit is contained in:
Kevin Mihelich 2016-11-04 18:12:18 +00:00
parent bc0f0dd60e
commit c90e5040ba
3 changed files with 41 additions and 278 deletions

View file

@ -17,9 +17,9 @@ _google_default_client_secret=0ZChLK6AxeA3Isu96MkwqDR4
pkgbase=libreoffice-fresh
pkgname=('libreoffice-fresh-sdk' 'libreoffice-fresh')
_LOver=5.2.2.2
pkgver=5.2.2
pkgrel=2
_LOver=5.2.3.3
pkgver=5.2.3
pkgrel=1
arch=('i686' 'x86_64')
license=('LGPL3')
url="http://www.libreoffice.org/"
@ -37,7 +37,7 @@ makedepends=('curl>=7.20.0' 'hunspell>=1.2.8' 'python>=3.5' 'libwpd>=0.9.2' 'lib
'libabw' 'libmwaw' 'libe-book' 'coin-or-mp' 'liborcus' 'liblangtag'
'libexttextcat' 'libfbclient' 'libcmis' 'gobject-introspection')
_mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}"
_mirror="https://download.documentfoundation.org/libreoffice/src/${pkgver}"
#_mirror="http://dev-builds.libreoffice.org/pre-releases/src"
_additional_source_url="http://dev-www.libreoffice.org/src"
_additional_source_url2="http://dev-www.libreoffice.org/extern"
@ -70,9 +70,7 @@ source=(${_mirror}/libreoffice{,-help,-translations}-${_LOver}.tar.xz{,.asc}
make-pyuno-work-with-system-wide-module-install.diff
libreoffice-fresh.sh libreoffice-fresh.csh
update_liborcus_to_0.11.0.diff
remove_unnecessary_orcus_external_usage_from_makefiles.diff
gtk3-use-style-updated-signal.diff
gtk3-lot-of-style-updated-signals.diff)
remove_unnecessary_orcus_external_usage_from_makefiles.diff)
noextract=(boost_1_60_0.tar.bz2
ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz
35c94d2df8893241173de1d16b6034c0-swingExSrc.zip
@ -99,44 +97,42 @@ noextract=(boost_1_60_0.tar.bz2
libfreehand-0.1.1.tar.bz2
185d60944ea767075d27247c3162b3bc-unowinreg.dll)
validpgpkeys=('C2839ECAD9408FBE9531C3E9F434A1EFAFEEAEA3') # LibreOffice Build Team (CODE SIGNING KEY) <build@documentfoundation.org>
md5sums=('4a001b0b43e58a3e584cb703d72cf19d'
'SKIP'
'ea273836b1e1b670eee6f211bd5d9acf'
'SKIP'
'2b4d20576fbf5c26f57d268791bfa84c'
'SKIP'
'65a840e1a0b13a558ff19eeb2c4f0cbe'
'ce12af00283eb90d9281956524250d6e'
'35c94d2df8893241173de1d16b6034c0'
'798b2ffdc8bcfe7bca2cf92b62caf685'
'a7983f859eafb2677d7ff386a023bc40'
'ce977548f1cbf46918e93cd38ac35163'
'eeb2c7ddf0d302fba4bfc6e97eac9624'
'39bb3fcea1514f1369fcfc87542390fd'
'3404ab6b1792ae5f16bbd603bd1e1d03'
'97b2d4dba862397f446b217e2b623e71'
'f94d9870737518e3b597f9265f4e9803'
'8ce2fcd72becf06c41f7201d15373ed9'
'3bdf40c0d199af31923e900d082ca2dd'
'ace6ab49184e329db254e454a010f56d'
'db60e4fde8dd6d6807523deb71ee34dc'
'0168229624cfac409e766913506961a8'
'bf5986dbfa1c9a0f26cf1b00ed369484'
'4b87018f7fff1d054939d19920b751a0'
'4ca8a6ef0afeefc864e9ef21b9f14bd6'
'17410483b5b5f267aa18b7e00b65e6e0'
'd63a9f47ab048f5009d90693d6aa6424'
'd8bd5eed178db6e2b18eeed243f85aa8'
'ba2930200c9f019c2d93a8c88c651a0f'
'8cf70c5dc4d24d2dc4a107f509d2d6d7'
'185d60944ea767075d27247c3162b3bc'
'dcb5ad3e5f7139227677ea064b075422'
'4195735a80876ae812fca5736b50192a'
'e7e4b3e70e99e5cba8f8dfcacf3b0d87'
'3f526b966a672d1237cfcbadae0e3f95'
'ac71e21ecc0976b2ea6e233854963d4b'
'3de4a8ba02b43f13dbd96cb9db240c60'
'0093815dfd534ac47a38aee8ac72bd0d')
sha256sums=('a8f1365d166bf24ac4b97ed8466f46cca29cf72e7e992bb84d24c3dc8e1c32c1'
'SKIP'
'443be26b35c6b454d5d1ca17c58cc33ae90946f8e1003a98118467b49989cd3a'
'SKIP'
'8401e51c4b91cd47f103ba09519f0b5b9213561b7d6296ff5bdc2d1622950a48'
'SKIP'
'686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b'
'3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305'
'64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1'
'1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753'
'75823776fb51a9c526af904f1503a7afaaab900fba83eda64f8a41073724c870'
'49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81'
'75c80359c9ce343c20aab8a36a45cb3b9ee7c61cf92c13ae45399d854423a9ba'
'085f2112c51fa8c1783fac12fbd452650596415121348393bb51f0f7e85a9045'
'5826d1551bf599b85742545f6e01a0079b93c1b2c8434bf409eddb3a29e4726b'
'3d853b19b1d94a6efa69e7af90f7f2b09ecf302913bee3da796c15ecfebcfac8'
'05640a1f6805b2b2d7e2cb9c50db9a5cb084e3c52ab1a71ce015239b4a1d4343'
'abe2c57ac12ba45d83563b02e240fa95d973376de2f720aab8fe11f2e621c095'
'e0531091787c0f16c83965fdcbc49162c059d7f0c64669e7f119699321549743'
'7d2797fe9f79a77009721e3f14fa4a1dec17a6d706bdc93f85f1f01d124fab66'
'e1fb87f3f7b980d33414473279615c4644027e013012d156efa538bc2b031772'
'983941d31ee8d366085cadf28db75eb1f5cb03ba1e5853b98f12f7f51c63b776'
'cfd066b327c2308b3d019f0fe124c02d9acfafdd4aa2af0feadb6e0384027cf9'
'b0adb8e71aef80751b999c9c055e419a625c4a05184e407aef2aee28752ad8cb'
'8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4'
'd30b13f4ba2e3b6a2d4f020c0dee0a9fb9fc6fbcc2d561f36b78da4bf3802370'
'd1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b'
'1b5b24f7bc543c0362b667692f78db8bab4ed6dafc6172f104d0bd3757d8a133'
'233f66e8d25c5dd971716d4200203a612a407649686ef3b52075d04b4c9df0dd'
'45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877'
'eafde646a7dbe46d20c291685b0beac2382174d78d66ee990e229a1bf6e6cec6'
'ad028513c29691b3ec3a35de21af2f224b48015afe0fbcc6fb834fdf7f613165'
'76f62957d0058092b11316357d9d716a62b48a53e5277426ffa87429ab5510e4'
'd24cfcb556ae1db02087c49012bbc4621f9ef7e3465ca832e1410326d260f283'
'4fc7b046fe96464a576d897330d1caa14998ab767002f84edf11a63b9ec35a7f'
'f6df5179582803bd71211a392218e9f7c062dc183832d6823cc7a13021e3e543')
prepare() {
@ -160,11 +156,6 @@ prepare() {
# fix not upstreamable pyuno paths - patch taken from Debian
patch -Np1 -i ${srcdir}/make-pyuno-work-with-system-wide-module-install.diff
# upstream backports for broken gtk3 vcl with recent gtk versions, taken from Debian
# FS#51002
patch -Np1 -i ${srcdir}/gtk3-use-style-updated-signal.diff
patch -Np1 -i ${srcdir}/gtk3-lot-of-style-updated-signals.diff
#use the CFLAGS but remove the LibO overridden ones
for i in $CFLAGS; do
case "$i" in

View file

@ -1,134 +0,0 @@
From 29c55564070aa1fa7846448a6ca90fe47c38bd0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 19 Sep 2016 09:26:22 +0100
Subject: Related: rhbz#1373933 gtk3 emits a lot of style-updateds signals
so don't throw away font settings every time, check if the font settings
changed and only emit FontChanged if they differ from the last seen settings.
Change-Id: I129887e3e866f395da3b906a38cf568abea5de8e
diff --git a/vcl/inc/unx/gtk/gtkinst.hxx b/vcl/inc/unx/gtk/gtkinst.hxx
index 490cf69..514b13f 100644
--- a/vcl/inc/unx/gtk/gtkinst.hxx
+++ b/vcl/inc/unx/gtk/gtkinst.hxx
@@ -242,6 +242,8 @@ public:
#endif
virtual const cairo_font_options_t* GetCairoFontOptions() override;
+ const cairo_font_options_t* GetLastSeenCairoFontOptions();
+ void ResetLastSeenCairoFontOptions();
void RemoveTimer (SalTimer *pTimer);
@@ -248,6 +248,7 @@ private:
std::vector<GtkSalTimer *> m_aTimers;
bool IsTimerExpired();
bool bNeedsInit;
+ cairo_font_options_t* m_pLastCairoFontOptions;
mutable std::shared_ptr<vcl::unx::GtkPrintWrapper> m_xPrintWrapper;
};
diff --git a/vcl/unx/gtk/gtkinst.cxx b/vcl/unx/gtk/gtkinst.cxx
index 0f62467..9a535f0 100644
--- a/vcl/unx/gtk/gtkinst.cxx
+++ b/vcl/unx/gtk/gtkinst.cxx
@@ -155,6 +155,7 @@ GtkInstance::GtkInstance( SalYieldMutex* pMutex )
: X11SalInstance( pMutex )
#endif
, bNeedsInit(true)
+ , m_pLastCairoFontOptions(nullptr)
{
}
@@ -200,6 +201,7 @@ GtkInstance::~GtkInstance()
while( !m_aTimers.empty() )
delete *m_aTimers.begin();
DeInitAtkBridge();
+ ResetLastSeenCairoFontOptions();
}
SalFrame* GtkInstance::CreateFrame( SalFrame* pParent, SalFrameStyleFlags nStyle )
@@ -483,7 +485,24 @@ GtkInstance::getPrintWrapper() const
const cairo_font_options_t* GtkInstance::GetCairoFontOptions()
{
- return gdk_screen_get_font_options(gdk_screen_get_default());
+ const cairo_font_options_t* pCairoFontOptions = gdk_screen_get_font_options(gdk_screen_get_default());
+ if (!m_pLastCairoFontOptions && pCairoFontOptions)
+ m_pLastCairoFontOptions = cairo_font_options_copy(pCairoFontOptions);
+ return pCairoFontOptions;
+}
+
+const cairo_font_options_t* GtkInstance::GetLastSeenCairoFontOptions()
+{
+ return m_pLastCairoFontOptions;
+}
+
+void GtkInstance::ResetLastSeenCairoFontOptions()
+{
+ if (m_pLastCairoFontOptions)
+ {
+ cairo_font_options_destroy(m_pLastCairoFontOptions);
+ m_pLastCairoFontOptions = nullptr;
+ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/unx/gtk/gtksalframe.cxx b/vcl/unx/gtk/gtksalframe.cxx
index 0d872cf..9167a3f 100644
--- a/vcl/unx/gtk/gtksalframe.cxx
+++ b/vcl/unx/gtk/gtksalframe.cxx
@@ -3235,7 +3235,21 @@ void GtkSalFrame::signalStyleSet( GtkWidget*, GtkStyle* pPrevious, gpointer fram
// so post user event to safely dispatch the SalEvent::SettingsChanged
// note: settings changed for multiple frames is avoided in winproc.cxx ImplHandleSettings
GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::SettingsChanged );
- GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
+
+ // fire off font-changed when the system cairo font hints change
+ GtkInstance *pInstance = static_cast<GtkInstance*>(GetSalData()->m_pInstance);
+ const cairo_font_options_t* pLastCairoFontOptions = pInstance->GetLastSeenCairoFontOptions();
+ const cairo_font_options_t* pCurrentCairoFontOptions = gdk_screen_get_font_options(gdk_screen_get_default());
+ bool bFontSettingsChanged = true;
+ if (pLastCairoFontOptions && pCurrentCairoFontOptions)
+ bFontSettingsChanged = !cairo_font_options_equal(pLastCairoFontOptions, pCurrentCairoFontOptions);
+ else if (!pLastCairoFontOptions && !pCurrentCairoFontOptions)
+ bFontSettingsChanged = false;
+ if (bFontSettingsChanged)
+ {
+ pInstance->ResetLastSeenCairoFontOptions();
+ GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
+ }
}
/* #i64117# gtk sets a nice background pixmap
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 49bce84..3d3fc9e 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -3107,7 +3107,21 @@ void GtkSalFrame::signalStyleUpdated(GtkWidget*, gpointer frame)
// note: settings changed for multiple frames is avoided in winproc.cxx ImplHandleSettings
GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::SettingsChanged );
- GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
+
+ // fire off font-changed when the system cairo font hints change
+ GtkInstance *pInstance = static_cast<GtkInstance*>(GetSalData()->m_pInstance);
+ const cairo_font_options_t* pLastCairoFontOptions = pInstance->GetLastSeenCairoFontOptions();
+ const cairo_font_options_t* pCurrentCairoFontOptions = gdk_screen_get_font_options(gdk_screen_get_default());
+ bool bFontSettingsChanged = true;
+ if (pLastCairoFontOptions && pCurrentCairoFontOptions)
+ bFontSettingsChanged = !cairo_font_options_equal(pLastCairoFontOptions, pCurrentCairoFontOptions);
+ else if (!pLastCairoFontOptions && !pCurrentCairoFontOptions)
+ bFontSettingsChanged = false;
+ if (bFontSettingsChanged)
+ {
+ pInstance->ResetLastSeenCairoFontOptions();
+ GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
+ }
}
gboolean GtkSalFrame::signalWindowState( GtkWidget*, GdkEvent* pEvent, gpointer frame )
--
cgit v0.10.2

View file

@ -1,94 +0,0 @@
From ef7abe81df10cb8a8c04afbb1fbe700f94e73f04 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Fri, 16 Sep 2016 11:19:52 +0100
Subject: Resolves: rhbz#1373933 gtk 3.21 emits a lot more "style-set" signals
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
also deb#837356
since gtk3 commit of...
commit 0f116135f4a5033ce4e9dfa19f10624701fa615c
Author: Matthias Clasen <mclasen@redhat.com>
Date: Fri May 6 10:12:14 2016 -0400
Avoid emitting ::style-set by name
GtkStyle is deprecated, but we still emit ::style-set quite
a bit, so lets at least not be slow while doing it.
docs say...
'GtkWidget::style-set has been deprecated since version 3.0 and should not be
used in newly-written code.
Use the “style-updated” signal'
and this code just came over from gtk2 without any thought about it at the
time, so change it over to the "style-updated" which makes everything happy
again
Change-Id: I9e920d2fb2d820ff1b1b5a9ecb228484df3d6146
diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx
index b9fafd6..0cdff6c 100644
--- a/vcl/inc/unx/gtk/gtkframe.hxx
+++ b/vcl/inc/unx/gtk/gtkframe.hxx
@@ -239,7 +239,11 @@ class GtkSalFrame : public SalFrame
// signals
static gboolean signalButton( GtkWidget*, GdkEventButton*, gpointer );
- static void signalStyleSet( GtkWidget*, GtkStyle* pPrevious, gpointer );
+#if GTK_CHECK_VERSION(3,0,0)
+ static void signalStyleUpdated(GtkWidget*, gpointer);
+#else
+ static void signalStyleSet(GtkWidget*, GtkStyle* pPrevious, gpointer);
+#endif
#if GTK_CHECK_VERSION(3,0,0)
static gboolean signalDraw( GtkWidget*, cairo_t *cr, gpointer );
static void sizeAllocated(GtkWidget*, GdkRectangle *pAllocation, gpointer frame);
diff --git a/vcl/unx/gtk3/gtk3gtkframe.cxx b/vcl/unx/gtk3/gtk3gtkframe.cxx
index 3a6eef7..49bce84 100644
--- a/vcl/unx/gtk3/gtk3gtkframe.cxx
+++ b/vcl/unx/gtk3/gtk3gtkframe.cxx
@@ -1009,7 +1009,7 @@ void GtkSalFrame::InitCommon()
// connect signals
- g_signal_connect( G_OBJECT(m_pWindow), "style-set", G_CALLBACK(signalStyleSet), this );
+ g_signal_connect( G_OBJECT(m_pWindow), "style-updated", G_CALLBACK(signalStyleUpdated), this );
gtk_widget_set_has_tooltip(pEventWidget, true);
m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "query-tooltip", G_CALLBACK(signalTooltipQuery), this ));
m_aMouseSignalIds.push_back(g_signal_connect( G_OBJECT(pEventWidget), "button-press-event", G_CALLBACK(signalButton), this ));
@@ -3101,22 +3101,13 @@ gboolean GtkSalFrame::signalDelete( GtkWidget*, GdkEvent*, gpointer frame )
return true;
}
-void GtkSalFrame::signalStyleSet( GtkWidget*, GtkStyle* pPrevious, gpointer frame )
+void GtkSalFrame::signalStyleUpdated(GtkWidget*, gpointer frame)
{
GtkSalFrame* pThis = static_cast<GtkSalFrame*>(frame);
- // every frame gets an initial style set on creation
- // do not post these as the whole application tends to
- // redraw itself to adjust to the new style
- // where there IS no new style resulting in tremendous unnecessary flickering
- if( pPrevious != nullptr )
- {
- // signalStyleSet does NOT usually have the gdk lock
- // so post user event to safely dispatch the SalEvent::SettingsChanged
- // note: settings changed for multiple frames is avoided in winproc.cxx ImplHandleSettings
- GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::SettingsChanged );
- GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
- }
+ // note: settings changed for multiple frames is avoided in winproc.cxx ImplHandleSettings
+ GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::SettingsChanged );
+ GtkSalFrame::getDisplay()->SendInternalEvent( pThis, nullptr, SalEvent::FontChanged );
}
gboolean GtkSalFrame::signalWindowState( GtkWidget*, GdkEvent* pEvent, gpointer frame )
--
cgit v0.10.2