[Libreoffice-commits] core.git: Branch 'aoo/trunk' - 2 commits - python/python-solver-before-std.patch svx/source
Armin Le Grand
alg at apache.org
Fri Jul 5 11:14:18 PDT 2013
python/python-solver-before-std.patch | 25 +++++---
svx/source/sidebar/area/AreaPropertyPanel.cxx | 74 +++++++++++++++++---------
2 files changed, 66 insertions(+), 33 deletions(-)
New commits:
commit 7f983cd3d05ef168f9e828a14307c0d53475c86d
Author: Armin Le Grand <alg at apache.org>
Date: Fri Jul 5 18:02:32 2013 +0000
i122676 Call Execute only once to create only one Undo-ction
diff --git a/svx/source/sidebar/area/AreaPropertyPanel.cxx b/svx/source/sidebar/area/AreaPropertyPanel.cxx
index 97ccb1e..a18d8248 100644
--- a/svx/source/sidebar/area/AreaPropertyPanel.cxx
+++ b/svx/source/sidebar/area/AreaPropertyPanel.cxx
@@ -315,8 +315,11 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
mpLbFillAttr->Clear();
SfxObjectShell* pSh = SfxObjectShell::Current();
const XFillStyleItem aXFillStyleItem(eXFS);
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L);
+ // #122676# Do no longer trigger two Execute calls, one for SID_ATTR_FILL_STYLE
+ // and one for setting the fill attribute itself, but add two SfxPoolItems to the
+ // call to get just one action at the SdrObject and to create only one Undo action, too.
+ // Checked that this works in all apps.
switch( eXFS )
{
case XFILL_NONE:
@@ -325,6 +328,10 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
mpToolBoxColor->Hide();
mpLbFillType->Selected();
mpLbFillAttr->Disable();
+
+ // #122676# need to call a single SID_ATTR_FILL_STYLE change
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L);
break;
}
case XFILL_SOLID:
@@ -334,7 +341,10 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
const String aTmpStr;
const Color aColor = maLastColor;
const XFillColorItem aXFillColorItem( aTmpStr, aColor );
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, 0L);
+
+ // #122676# change FillStyle and Color in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, &aXFillStyleItem, 0L);
break;
}
case XFILL_GRADIENT:
@@ -362,7 +372,10 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
{
const XGradient aGradient = aItem.GetGradientList()->GetGradient(mnLastPosGradient)->GetGradient();
const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetEntry(mnLastPosGradient), aGradient);
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, 0L);
+
+ // #122676# change FillStyle and Gradient in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, &aXFillStyleItem, 0L);
mpLbFillAttr->SelectEntryPos(mnLastPosGradient);
}
}
@@ -398,7 +411,10 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
{
const XHatch aHatch = aItem.GetHatchList()->GetHatch(mnLastPosHatch)->GetHatch();
const XFillHatchItem aXFillHatchItem(mpLbFillAttr->GetSelectEntry(), aHatch);
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, 0L);
+
+ // #122676# change FillStyle and Hatch in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, &aXFillStyleItem, 0L);
mpLbFillAttr->SelectEntryPos(mnLastPosHatch);
}
}
@@ -434,7 +450,10 @@ IMPL_LINK( AreaPropertyPanel, SelectFillTypeHdl, ListBox *, pToolBox )
{
const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(mnLastPosBitmap);
const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject());
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, 0L);
+
+ // #122676# change FillStyle and Bitmap in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, &aXFillStyleItem, 0L);
mpLbFillAttr->SelectEntryPos(mnLastPosBitmap);
}
}
@@ -473,26 +492,21 @@ IMPL_LINK( AreaPropertyPanel, SelectFillAttrHdl, ListBox*, pToolBox )
if(pToolBox)
{
- if((XFillStyle) meLastXFS != eXFS)
- {
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L);
- }
+ // #122676# dependent from bFillStyleChange, do execute a single or two
+ // changes in one Execute call
+ const bool bFillStyleChange((XFillStyle) meLastXFS != eXFS);
switch(eXFS)
{
case XFILL_SOLID:
- //{
- // //String aTmpStr = mpLbFillAttr->GetSelectEntry();
- // //Color aColor = mpLbFillAttr->GetSelectEntryColor();
- // //if(aColor.GetColor() == 0 && aTmpStr.Equals(String::CreateFromAscii("")))
- // String aTmpStr;
- // Color aColor = maLastColor;
- // XFillColorItem aXFillColorItem( aTmpStr, aColor );
- // GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_COLOR, SFX_CALLMODE_RECORD, &aXFillColorItem, 0L);
- // maLastColor = aColor;
- //}
- break;
-
+ {
+ if(bFillStyleChange)
+ {
+ // #122676# Single FillStyle change call needed here
+ GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_STYLE, SFX_CALLMODE_RECORD, &aXFillStyleItem, 0L);
+ }
+ break;
+ }
case XFILL_GRADIENT:
{
sal_uInt16 nPos = mpLbFillAttr->GetSelectEntryPos();
@@ -510,7 +524,11 @@ IMPL_LINK( AreaPropertyPanel, SelectFillAttrHdl, ListBox*, pToolBox )
{
const XGradient aGradient = aItem.GetGradientList()->GetGradient(nPos)->GetGradient();
const XFillGradientItem aXFillGradientItem(mpLbFillAttr->GetSelectEntry(), aGradient);
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem, 0L);
+
+ // #122676# Change FillStale and Gradinet in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_GRADIENT, SFX_CALLMODE_RECORD, &aXFillGradientItem,
+ bFillStyleChange ? &aXFillStyleItem : 0L, 0L);
}
}
@@ -537,7 +555,11 @@ IMPL_LINK( AreaPropertyPanel, SelectFillAttrHdl, ListBox*, pToolBox )
{
const XHatch aHatch = aItem.GetHatchList()->GetHatch(nPos)->GetHatch();
const XFillHatchItem aXFillHatchItem( mpLbFillAttr->GetSelectEntry(), aHatch);
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem, 0L);
+
+ // #122676# Change FillStale and Hatch in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_HATCH, SFX_CALLMODE_RECORD, &aXFillHatchItem,
+ bFillStyleChange ? &aXFillStyleItem : 0L, 0L);
}
}
@@ -564,7 +586,11 @@ IMPL_LINK( AreaPropertyPanel, SelectFillAttrHdl, ListBox*, pToolBox )
{
const XBitmapEntry* pXBitmapEntry = aItem.GetBitmapList()->GetBitmap(nPos);
const XFillBitmapItem aXFillBitmapItem(mpLbFillAttr->GetSelectEntry(), pXBitmapEntry->GetGraphicObject());
- GetBindings()->GetDispatcher()->Execute(SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem, 0L);
+
+ // #122676# Change FillStale and Bitmap in one call
+ GetBindings()->GetDispatcher()->Execute(
+ SID_ATTR_FILL_BITMAP, SFX_CALLMODE_RECORD, &aXFillBitmapItem,
+ bFillStyleChange ? &aXFillStyleItem : 0L, 0L);
}
}
commit 345b711611342e52e725be9f2eca5c14037e1b6b
Author: Herbert Dürr <hdu at apache.org>
Date: Fri Jul 5 16:23:07 2013 +0000
#i122647# prevent symbol preemption of openssl symbols in python libs
Using the "exlude-libs ALL" linker option to prevent symbol preemptions
could be a good idea for all the third-party binaries we are redistibuting
to prevent clashes with system libraries. For now the change is specific
to the openssl symbols imported by our redistributed python libs.
diff --git a/python/python-solver-before-std.patch b/python/python-solver-before-std.patch
index d180843..938b99c 100644
--- a/python/python-solver-before-std.patch
+++ b/python/python-solver-before-std.patch
@@ -79,12 +79,19 @@
else:
assert False, "Internal error: Path not found in std_dirs or paths"
-@@ -851,6 +852,8 @@
- have_usable_openssl = (have_any_openssl and
- openssl_ver >= min_openssl_ver)
-
-+ print( "ssl_incs="+str(ssl_incs))
-+ print( "ssl_libs="+str(ssl_libs))
- if have_any_openssl:
- if have_usable_openssl:
- # The _hashlib module wraps optimized implementations
+@@ -819,6 +820,7 @@
+ exts.append( Extension('_ssl', ['_ssl.c'],
+ include_dirs = ssl_incs,
+ library_dirs = ssl_libs,
++ extra_link_args = ['-Wl,--exclude-libs,ALL'],
+ libraries = ['ssl', 'crypto'],
+ depends = ['socketmodule.h']), )
+ else:
+@@ -858,6 +860,7 @@
+ exts.append( Extension('_hashlib', ['_hashopenssl.c'],
+ include_dirs = ssl_incs,
+ library_dirs = ssl_libs,
++ extra_link_args = ['-Wl,--exclude-libs,ALL'],
+ libraries = ['ssl', 'crypto']) )
+ else:
+ print ("warning: openssl 0x%08x is too old for _hashlib" %
More information about the Libreoffice-commits
mailing list