[Libreoffice-bugs] [Bug 97897] Recalculate does not always work

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97897

Winfried Donkers  changed:

   What|Removed |Added

   Assignee|libreoffice-b...@lists.free |er...@redhat.com
   |desktop.org |

--- Comment #24 from Winfried Donkers  ---
(In reply to Timur from comment #23)
> Now:
>  -open attachment 122714 [details]
>  -delete cell A4, cells A5:A8 show revised results (unlike before)
>  -undo and than delete cell A4 again
>   expected behaviour: cells A5:A8 show revised results
>   actual behaviour: cells A5:A8 do not change

Yes, I confirm. 
Moving the cursor (anywhere, including away from A4 and back to A4) between the
first and the second delete action shows expected behaviour, though.  
As this regards the second patch of this bug report, I have put Eike as
assignee.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 97731] Record summary footer is not visible when table listing is first opened

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97731

--- Comment #12 from frofa  ---
In reply to comment 11 from Buovjaga:

The Bug Priority Triage Flowchart Suggestions(s) diagram does in fact say
regarding REGRESSIONS:

"Special attention should be made to prioritizing regressions. Usually a
regression calls for increased priority unless there is a specific reason not
to raise it, in which case a comment in the bug is probably a good idea."

As I stated earlier (comment 10), this bug is:

1. A very recent regression
2. The loss-of-function has the potential to significantly inconvenience many
Base users.

As there have been a number of quite recent regressions in Base, it sometimes
seems to be me (as committed and enthusiastic Base user for many years) that
the overall functionality of the Base module is going backwards of late. I
reckon one could pretty convincingly argue that Base in LO 4.7.x works better
than in LO v5.x in a number of ways. (Sorry to be negative because I know the
volunteers put in a lot of otherwise good work.)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98969] Find forgotten closed bugs

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98969

--- Comment #2 from jan iversen  ---
We have the same problem with easyhacks, allthough there are a couple of long
runners.

So I would prefer the output to be

Committer: tdf:12345, tdf#12345(easyhack), ...

and yes I am very interested in this hack.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: vcl/opengl

2016-03-29 Thread Tor Lillqvist
 vcl/opengl/scale.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit bf7aabd53c4308e93a5507d039cf10bb7362e3f4
Author: Tor Lillqvist 
Date:   Wed Mar 30 08:17:26 2016 +0300

loplugin:stringconstant

Change-Id: I266bc972dbb6ab53920a0b453b181c3f5c608642

diff --git a/vcl/opengl/scale.cxx b/vcl/opengl/scale.cxx
index e8cfdcc..2728cb0 100644
--- a/vcl/opengl/scale.cxx
+++ b/vcl/opengl/scale.cxx
@@ -283,7 +283,7 @@ bool OpenGLSalBitmap::ImplScaleArea( const rtl::Reference< 
OpenGLContext > 
 ixscale = 1 / rScaleX;
 iyscale = 1 / rScaleY;
 
-pProgram = xContext->UseProgram("textureVertexShader", 
OUString("areaScaleFragmentShader"));
+pProgram = xContext->UseProgram("textureVertexShader", 
"areaScaleFragmentShader");
 if (pProgram == nullptr)
 return false;
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: include/osl

2016-03-29 Thread Tor Lillqvist
 include/osl/thread.h |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit ad777d0f07d519f409b056ecdafec623e7edd926
Author: Tor Lillqvist 
Date:   Wed Mar 30 07:58:02 2016 +0300

Improve wording

Change-Id: If6d0e38070cd99de903639944ecc8db16c653302

diff --git a/include/osl/thread.h b/include/osl/thread.h
index 0a8eb4c..be7999e 100644
--- a/include/osl/thread.h
+++ b/include/osl/thread.h
@@ -124,8 +124,8 @@ SAL_DLLPUBLIC sal_Bool SAL_CALL osl_isThreadRunning(const 
oslThread Thread);
 */
 SAL_DLLPUBLIC void SAL_CALL osl_joinWithThread(oslThread Thread);
 
-/** Blocks the calling thread at least for the given number
-of time.
+/** Suspends the execution of the calling thread for at least the given
+time.
 */
 SAL_DLLPUBLIC void SAL_CALL osl_waitThread(const TimeValue* pDelay);
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - sfx2/source

2016-03-29 Thread Julien Nabet
 sfx2/source/bastyp/fltfnc.cxx|   23 +++
 sfx2/source/notify/eventsupplier.cxx |8 ++--
 2 files changed, 17 insertions(+), 14 deletions(-)

New commits:
commit 1d060568ce8e7b8aa04c418e282962131801bea4
Author: Julien Nabet 
Date:   Tue Mar 29 23:33:26 2016 +0200

Replace MACRO_PRFIX and MACRO_POSTFIX in eventsupplier.cxx

Change-Id: Ifd08a3414468e7685f55af66ed05f7a88187fa0e
Reviewed-on: https://gerrit.libreoffice.org/23606
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/sfx2/source/notify/eventsupplier.cxx 
b/sfx2/source/notify/eventsupplier.cxx
index 8e4e523..b232644 100644
--- a/sfx2/source/notify/eventsupplier.cxx
+++ b/sfx2/source/notify/eventsupplier.cxx
@@ -47,10 +47,6 @@
 #include 
 #include 
 
-
-#define MACRO_PRFIX "macro://"
-#define MACRO_POSTFIX   "()"
-
 using namespace css;
 
 
@@ -458,10 +454,10 @@ void SfxEvents_Impl::NormalizeMacro( const 
::comphelper::NamedValueCollection& i
 }
 else if ( !aMacroName.isEmpty() )
 {
-aScript = MACRO_PRFIX;
+aScript = "macro://";
 if ( aLibrary != SfxGetpApp()->GetName() && aLibrary != 
"StarDesktop" && aLibrary != "application" )
 aScript += ".";
-aScript += "/" + aMacroName + MACRO_POSTFIX;
+aScript += "/" + aMacroName + "()";
 }
 else
 // wrong properties
commit 709e99af4958216c75b27c07793d5140214f179d
Author: Julien Nabet 
Date:   Tue Mar 29 23:19:11 2016 +0200

Replace IMPL_FORWARD_LOOP in sfx2/source/bastyp/fltfnc.cxx

Change-Id: Ic9eda24be82a54c3907ffe6eb749e927db87dee7
Reviewed-on: https://gerrit.libreoffice.org/23605
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/sfx2/source/bastyp/fltfnc.cxx b/sfx2/source/bastyp/fltfnc.cxx
index a1c7b0b..04bfdb1 100644
--- a/sfx2/source/bastyp/fltfnc.cxx
+++ b/sfx2/source/bastyp/fltfnc.cxx
@@ -154,16 +154,23 @@ public:
 }
 };
 
-#define IMPL_FORWARD_LOOP( aMethod, ArgType, aArg ) \
-std::shared_ptr SfxFilterContainer::aMethod( ArgType aArg, 
SfxFilterFlags nMust, SfxFilterFlags nDont ) const \
-{\
-SfxFilterMatcher aMatch( pImpl->aName ); \
-return aMatch.aMethod( aArg, nMust, nDont ); \
+std::shared_ptr SfxFilterContainer::GetFilter4EA(const 
OUString& rEA, SfxFilterFlags nMust, SfxFilterFlags nDont) const
+{
+SfxFilterMatcher aMatch(pImpl->aName);
+return aMatch.GetFilter4EA(rEA, nMust, nDont);
+}
+
+std::shared_ptr SfxFilterContainer::GetFilter4Extension(const 
OUString& rExt, SfxFilterFlags nMust, SfxFilterFlags nDont) const
+{
+SfxFilterMatcher aMatch(pImpl->aName);
+return aMatch.GetFilter4Extension(rExt, nMust, nDont);
 }
 
-IMPL_FORWARD_LOOP( GetFilter4EA, const OUString&, rEA );
-IMPL_FORWARD_LOOP( GetFilter4Extension, const OUString&, rExt );
-IMPL_FORWARD_LOOP( GetFilter4FilterName, const OUString&, rName );
+std::shared_ptr 
SfxFilterContainer::GetFilter4FilterName(const OUString& rName, SfxFilterFlags 
nMust, SfxFilterFlags nDont) const
+{
+SfxFilterMatcher aMatch(pImpl->aName);
+return aMatch.GetFilter4FilterName(rName, nMust, nDont);
+}
 
 std::shared_ptr SfxFilterContainer::GetAnyFilter( 
SfxFilterFlags nMust, SfxFilterFlags nDont ) const
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: svl/source

2016-03-29 Thread Julien Nabet
 svl/source/items/IndexedStyleSheets.cxx|2 +-
 svl/source/items/itempool.cxx  |   10 +-
 svl/source/items/poolio.cxx|8 
 svl/source/items/slstitm.cxx   |2 +-
 svl/source/items/stylepool.cxx |6 +++---
 svl/source/misc/inettype.cxx   |   10 +-
 svl/source/misc/sharedstringpool.cxx   |2 +-
 svl/source/notify/broadcast.cxx|6 +++---
 svl/source/notify/listener.cxx |6 --
 svl/source/numbers/numfmuno.cxx|2 +-
 svl/source/numbers/zforlist.cxx|   18 +-
 svl/source/passwordcontainer/passwordcontainer.cxx |4 ++--
 12 files changed, 39 insertions(+), 37 deletions(-)

New commits:
commit a0527676b17838c310701f169ce23d0386b82eb6
Author: Julien Nabet 
Date:   Tue Mar 29 21:36:59 2016 +0200

Use const_iterator when possible (svl except svdde)

Change-Id: Ie19467a020d1839146d5a6324e54ccf223d99dd6
Reviewed-on: https://gerrit.libreoffice.org/23603
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/svl/source/items/IndexedStyleSheets.cxx 
b/svl/source/items/IndexedStyleSheets.cxx
index c433864..f543d18 100644
--- a/svl/source/items/IndexedStyleSheets.cxx
+++ b/svl/source/items/IndexedStyleSheets.cxx
@@ -170,7 +170,7 @@ IndexedStyleSheets::GetNthStyleSheetThatMatchesPredicate(
 {
 rtl::Reference retval;
 unsigned matching = 0;
-for (VectorType::iterator it = mStyleSheets.begin()+startAt; it != 
mStyleSheets.end(); ++it) {
+for (VectorType::const_iterator it = mStyleSheets.begin()+startAt; it != 
mStyleSheets.end(); ++it) {
 SfxStyleSheetBase *ssheet = it->get();
 if (predicate.Check(*ssheet)) {
 if (matching == n) {
diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx
index 34153c7..dda54dd 100644
--- a/svl/source/items/itempool.cxx
+++ b/svl/source/items/itempool.cxx
@@ -370,7 +370,7 @@ void SfxItemPool::Free(SfxItemPool* pPool)
 {
 // tell all the registered SfxItemPoolUsers that the pool is in 
destruction
 std::vector 
aListCopy(pPool->pImp->maSfxItemPoolUsers.begin(), 
pPool->pImp->maSfxItemPoolUsers.end());
-for(std::vector::iterator aIterator = 
aListCopy.begin(); aIterator != aListCopy.end(); ++aIterator)
+for(std::vector::const_iterator aIterator = 
aListCopy.begin(); aIterator != aListCopy.end(); ++aIterator)
 {
 SfxItemPoolUser* pSfxItemPoolUser = *aIterator;
 DBG_ASSERT(pSfxItemPoolUser, "corrupt SfxItemPoolUser list (!)");
@@ -411,7 +411,7 @@ void SfxItemPool::SetSecondaryPool( SfxItemPool *pPool )
 SfxPoolItemArray_Impl* pItemArr = 
pImp->mpSecondary->pImp->maPoolItems[n];
 if ( pItemArr )
 {
-SfxPoolItemArrayBase_Impl::iterator ppHtArr =   
pItemArr->begin();
+SfxPoolItemArrayBase_Impl::const_iterator ppHtArr =   
pItemArr->begin();
 for( size_t i = pItemArr->size(); i; ++ppHtArr, --i )
 if ( !(*ppHtArr) )
 {
@@ -514,7 +514,7 @@ void SfxItemPool::Delete()
 {
 if ( *itrItemArr )
 {
-SfxPoolItemArrayBase_Impl::iterator ppHtArr = 
(*itrItemArr)->begin();
+SfxPoolItemArrayBase_Impl::const_iterator ppHtArr = 
(*itrItemArr)->begin();
 for ( size_t n = (*itrItemArr)->size(); n; --n, ++ppHtArr )
 if (*ppHtArr)
 {
@@ -546,7 +546,7 @@ void SfxItemPool::Delete()
 {
 if ( *itrItemArr )
 {
-SfxPoolItemArrayBase_Impl::iterator ppHtArr = 
(*itrItemArr)->begin();
+SfxPoolItemArrayBase_Impl::const_iterator ppHtArr = 
(*itrItemArr)->begin();
 for ( size_t n = (*itrItemArr)->size(); n; --n, ++ppHtArr )
 if (*ppHtArr)
 {
@@ -806,7 +806,7 @@ void SfxItemPool::Remove( const SfxPoolItem& rItem )
 SfxPoolItemArray_Impl* pItemArr = pImp->maPoolItems[nIndex];
 assert(pItemArr && "removing Item not in Pool");
 
-SfxPoolItemArray_Impl::PoolItemPtrToIndexMap::iterator it;
+SfxPoolItemArray_Impl::PoolItemPtrToIndexMap::const_iterator it;
 it = pItemArr->maPtrToIndex.find(const_cast());
 if (it != pItemArr->maPtrToIndex.end())
 {
diff --git a/svl/source/items/poolio.cxx b/svl/source/items/poolio.cxx
index 4cd3fab..46c1c6a 100644
--- a/svl/source/items/poolio.cxx
+++ b/svl/source/items/poolio.cxx
@@ -183,7 +183,7 @@ SvStream ::Store(SvStream ) const
 {
 pImp->bInSetItem = ft != 0;
 
-std::vector::iterator 

[Libreoffice-bugs] [Bug 98972] New: Writer table: changing data changes cell format; changing format changes cell data

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98972

Bug ID: 98972
   Summary: Writer table: changing data changes cell format;
changing format changes cell data
   Product: LibreOffice
   Version: 5.1.1.3 release
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Writer
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: pbpub...@gmail.com

Created attachment 123944
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123944=edit
writer file with simple table formatting problem

In Writer 5.1.1.3, I have a simple 2 column table. The first column is
formatted to Date (MM/YY).

Problem One:
If I change data in any of the cells in that column, that cell switches to Text
format, and the numbers correspondingly jump to the left side of the cell.

Problem Two:
I then select the cells, go to Table / numeric format, and switch them back to
the Date - MM/YY format. In the preview box it shows the first cell's contents,
in my case 12/99. When I OK that dialog, the contents of the second cell,
07/89, are changed to 12/99, matching the first cell.

Test file attached.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 96449] Calc crashes with this particular ODS file

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=96449

Jean-Baptiste Faure  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 96449] Calc crashes with this particular ODS file

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=96449

--- Comment #8 from Jean-Baptiste Faure  ---
(In reply to Markus Mohrhard from comment #7)
> I can't reproduce any of these issues in master. There were also recently
> quite a few patches fixing issues around the ScRefCellMAtrix including some
> memory corruption issues.

Thank you for the reminder.

Not reproducible anymore for me too with LO 5.1.3.0.0+ built at home under
Ubuntu 15.10 x86-64

Closing as WorksForMe.
Best regards. JBF

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Aleksas Pantechovskis
 sc/source/filter/excel/xicontent.cxx  |   16 ---
 sc/source/filter/rtf/rtfexp.cxx   |   15 +++---
 sc/source/filter/xml/xmlcelli.cxx |   33 +++---
 sc/source/ui/Accessibility/AccessibleCell.cxx |   18 ---
 sc/source/ui/Accessibility/AccessibleText.cxx |   11 ++--
 sc/source/ui/app/transobj.cxx |   17 +--
 sc/source/ui/docshell/impex.cxx   |   59 ++
 sc/source/ui/unoobj/cellsuno.cxx  |   17 ---
 sc/source/ui/unoobj/chart2uno.cxx |9 +--
 sc/source/ui/unoobj/textuno.cxx   |   13 +++--
 10 files changed, 117 insertions(+), 91 deletions(-)

New commits:
commit fa7416a6af4b40d9223c27ce58e66b69bdd53fd1
Author: Aleksas Pantechovskis 
Date:   Mon Mar 28 00:16:42 2016 +0300

tdf#98893 Remove expensive calls to GetCellType + GetValue/... in calc

Change-Id: Ie9a16fa1b44d41cc9d10b50c37ba15f3b7e786c8
Reviewed-on: https://gerrit.libreoffice.org/23561
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/filter/excel/xicontent.cxx 
b/sc/source/filter/excel/xicontent.cxx
index 69ecaa6..a7a857a 100644
--- a/sc/source/filter/excel/xicontent.cxx
+++ b/sc/source/filter/excel/xicontent.cxx
@@ -37,6 +37,8 @@
 #include 
 #include 
 #include "stringutil.hxx"
+#include "cellform.hxx"
+#include "cellvalue.hxx"
 #include "document.hxx"
 #include "editutil.hxx"
 #include "formulacell.hxx"
@@ -163,23 +165,27 @@ void lclInsertUrl( XclImpRoot& rRoot, const OUString& 
rUrl, SCCOL nScCol, SCROW
 {
 ScDocumentImport& rDoc = rRoot.GetDocImport();
 ScAddress aScPos( nScCol, nScRow, nScTab );
-CellType eCellType = rDoc.getDoc().GetCellType(aScPos);
-switch( eCellType )
+ScRefCellValue aCell(rDoc.getDoc(), aScPos);
+switch( aCell.meType )
 {
 // #i54261# hyperlinks in string cells
 case CELLTYPE_STRING:
 case CELLTYPE_EDIT:
 {
-OUString aDisplText = rDoc.getDoc().GetString(nScCol, nScRow, 
nScTab);
+sal_uLong nNumFmt = rDoc.getDoc().GetNumberFormat(aScPos);
+SvNumberFormatter* pFormatter = rDoc.getDoc().GetFormatTable();
+Color* pColor;
+OUString aDisplText;
+ScCellFormat::GetString(aCell, nNumFmt, aDisplText, , 
*pFormatter, ());
 if (aDisplText.isEmpty())
 aDisplText = rUrl;
 
 ScEditEngineDefaulter& rEE = rRoot.GetEditEngine();
 SvxURLField aUrlField( rUrl, aDisplText, SVXURLFORMAT_APPDEFAULT );
 
-const EditTextObject* pEditObj = rDoc.getDoc().GetEditText(aScPos);
-if( pEditObj )
+if( aCell.meType == CELLTYPE_EDIT )
 {
+const EditTextObject* pEditObj = aCell.mpEditText;
 rEE.SetText( *pEditObj );
 rEE.QuickInsertField( SvxFieldItem( aUrlField, 
EE_FEATURE_FIELD ), ESelection( 0, 0, EE_PARA_ALL, 0 ) );
 }
diff --git a/sc/source/filter/rtf/rtfexp.cxx b/sc/source/filter/rtf/rtfexp.cxx
index 4c16276..c2d065d 100644
--- a/sc/source/filter/rtf/rtfexp.cxx
+++ b/sc/source/filter/rtf/rtfexp.cxx
@@ -33,6 +33,7 @@
 
 #include "rtfexp.hxx"
 #include "filter.hxx"
+#include "cellvalue.hxx"
 #include "document.hxx"
 #include "patattr.hxx"
 #include "attrib.hxx"
@@ -165,7 +166,8 @@ void ScRTFExport::WriteCell( SCTAB nTab, SCROW nRow, SCCOL 
nCol )
 bool bValueData = false;
 OUString aContent;
 ScAddress aPos(nCol, nRow, nTab);
-switch (pDoc->GetCellType(aPos))
+ScRefCellValue aCell(*pDoc, aPos);
+switch (aCell.meType)
 {
 case CELLTYPE_NONE:
 bValueData = false;
@@ -173,13 +175,10 @@ void ScRTFExport::WriteCell( SCTAB nTab, SCROW nRow, 
SCCOL nCol )
 case CELLTYPE_EDIT:
 {
 bValueData = false;
-const EditTextObject* pObj = pDoc->GetEditText(aPos);
-if (pObj)
-{
-EditEngine& rEngine = GetEditEngine();
-rEngine.SetText(*pObj);
-aContent = rEngine.GetText(); // LineFeed in between 
paragraphs!
-}
+const EditTextObject* pObj = aCell.mpEditText;
+EditEngine& rEngine = GetEditEngine();
+rEngine.SetText(*pObj);
+aContent = rEngine.GetText(); // LineFeed in between paragraphs!
 }
 break;
 default:
diff --git a/sc/source/filter/xml/xmlcelli.cxx 
b/sc/source/filter/xml/xmlcelli.cxx
index 6fbad6d..556d4ab 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -23,6 +23,7 @@
 #include "xmlstyli.hxx"
 #include "xmlannoi.hxx"
 #include "global.hxx"
+#include "cellvalue.hxx"
 #include "document.hxx"
 #include "cellsuno.hxx"
 #include "docuno.hxx"
@@ -1047,10 +1048,11 @@ void ScXMLTableRowCellContext::PutTextCell( const 
ScAddress& rCurrentPos,
 

[Libreoffice-bugs] [Bug 98971] RTF Imported text has monospace font, and text has strikethrough effect

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98971

--- Comment #1 from Nicholas van Oudtshoorn  ---
Also of interest is that apostrophes seem to be stripped from the text, and the
strikethrough  starts where the first apostrophe in the text is...

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 2c69316037e29db52393d898100e6593a6cd5a24
Author: Markus Mohrhard 
Date:   Wed Mar 30 02:55:18 2016 +0200

add TODO comment for a bug

This bug is the first one that was discovered because it is now much
easier to see which parts of the code work on cells, pattern areas and
whole columns/rows.

Change-Id: I8f22bf421298947d65bfc2fc9c986d85169e6545
Reviewed-on: https://gerrit.libreoffice.org/23636
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 384e3ae..b32f483 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -363,6 +363,8 @@ bool handleConditionalFormat(ScConditionalFormatList* 
pCondFormList, const std::
 pInfo->pConditionSet = >GetItemSet();
 bAnyCondition = true;
 
+// TODO: moggi: looks like there is a but around bHidden and 
bHideFormula
+//  They are normally for the whole pattern and 
not for a single cell
 // we need to check already here for protected cells
 const SfxPoolItem* pItem;
 if ( bTabProtect && pInfo->pConditionSet->GetItemState( 
ATTR_PROTECTION, true,  ) == SfxItemState::SET )
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |  119 +--
 1 file changed, 65 insertions(+), 54 deletions(-)

New commits:
commit b22e51d0c60f959c2db77bd3d23119b53bd87545
Author: Markus Mohrhard 
Date:   Wed Mar 30 02:41:07 2016 +0200

extract another function from ScDocument::FillInfo

Change-Id: Ief094beebbff2bce9f087853cbda6adeeafe07fc
Reviewed-on: https://gerrit.libreoffice.org/23635
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 71d0e02..384e3ae 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -338,6 +338,68 @@ void initColWidths(RowInfo* pRowInfo, ScDocument* pDoc, 
double fColScale, SCTAB
 }
 }
 
+bool handleConditionalFormat(ScConditionalFormatList* pCondFormList, const 
std::vector rCondFormats,
+CellInfo* pInfo, ScStyleSheetPool* pStlPool,
+const ScAddress& rAddr, bool& bHidden, bool& bHideFormula, bool 
bTabProtect)
+{
+bool bFound = false;
+bool bAnyCondition = false;
+for(std::vector::const_iterator itr = rCondFormats.begin();
+itr != rCondFormats.end() && !bFound; ++itr)
+{
+ScConditionalFormat* pCondForm = pCondFormList->GetFormat(*itr);
+if(!pCondForm)
+continue;
+
+ScCondFormatData aData = pCondForm->GetData(
+pInfo->maCell, rAddr);
+if (!aData.aStyleName.isEmpty())
+{
+SfxStyleSheetBase* pStyleSheet =
+pStlPool->Find( aData.aStyleName, SFX_STYLE_FAMILY_PARA );
+if ( pStyleSheet )
+{
+//TODO: cache Style-Sets !!!
+pInfo->pConditionSet = >GetItemSet();
+bAnyCondition = true;
+
+// we need to check already here for protected cells
+const SfxPoolItem* pItem;
+if ( bTabProtect && pInfo->pConditionSet->GetItemState( 
ATTR_PROTECTION, true,  ) == SfxItemState::SET )
+{
+const ScProtectionAttr* pProtAttr = static_cast(pItem);
+bHidden = pProtAttr->GetHideCell();
+bHideFormula = pProtAttr->GetHideFormula();
+
+}
+bFound = true;
+
+}
+// if style is not there, treat like no condition
+}
+
+if(aData.pColorScale)
+{
+pInfo->pColorScale.reset(aData.pColorScale);
+bFound = true;
+}
+
+if(aData.pDataBar)
+{
+pInfo->pDataBar.reset(aData.pDataBar);
+bFound = true;
+}
+
+if(aData.pIconSet)
+{
+pInfo->pIconSet.reset(aData.pIconSet);
+bFound = true;
+}
+}
+
+return bAnyCondition;
+}
+
 }
 
 void ScDocument::FillInfo(
@@ -564,61 +626,10 @@ void ScDocument::FillInfo(
 pThisRowInfo->bEmptyBack = false;
 }
 
-if ( bContainsCondFormat )
+if (bContainsCondFormat)
 {
-bool bFound = false;
-
for(std::vector::const_iterator itr = rCondFormats.begin();
-itr != rCondFormats.end() && 
!bFound; ++itr)
-{
-ScConditionalFormat* pCondForm = 
pCondFormList->GetFormat(*itr);
-if(!pCondForm)
-continue;
-
-ScCondFormatData aData = 
pCondForm->GetData(
-pInfo->maCell, ScAddress(nX, 
nCurRow, nTab));
-if (!aData.aStyleName.isEmpty())
-{
-SfxStyleSheetBase* pStyleSheet =
-pStlPool->Find( 
aData.aStyleName, SFX_STYLE_FAMILY_PARA );
-if ( pStyleSheet )
-{
-//TODO: cache Style-Sets !!!
-pInfo->pConditionSet = 
>GetItemSet();
-bAnyCondition = true;
-
-// we need to check already 
here for protected cells
-const SfxPoolItem* pItem;
-if ( bTabProtect && 
pInfo->pConditionSet->GetItemState( ATTR_PROTECTION, true,  ) == 
SfxItemState::SET )
-   

[Libreoffice-bugs] [Bug 98971] New: RTF Imported text has monospace font, and text has strikethrough effect

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98971

Bug ID: 98971
   Summary: RTF Imported text has monospace font, and text has
strikethrough effect
   Product: LibreOffice
   Version: 5.0.0.5 release
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Writer
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: vano...@gmail.com

Created attachment 123943
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123943=edit
Sample showing monospace font and strikethrough text

This file - as with all from the site it comes from, isn't rendered nicely with
LibreOffice. Text is in a monospace font, and from a few lines in, all has the
strikethrough effect enabled.

Document renders much better in WPS (for once!)

Version set to 5.0.0.5, though I believe the bug has been around for a LOT
longer. Also tested in the latest daily, with no difference.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit b27428d2136e67ee7c7449a7db562a957af390d6
Author: Markus Mohrhard 
Date:   Wed Mar 30 02:25:16 2016 +0200

stylistic changes in ScDocument::FillInfo

Change-Id: I98bb25d414106259a809698941a000d6d0bc35e0
Reviewed-on: https://gerrit.libreoffice.org/23634
Reviewed-by: Markus Mohrhard 
Tested-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index c3dd480..71d0e02 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -470,8 +470,9 @@ void ScDocument::FillInfo(
 --nCurRow;  // 1 more on top
 else
 nArrRow = 1;
+
 SCROW nThisRow = nCurRow;   // end of range
-SCSIZE  nIndex;
+SCSIZE nIndex;
 (void) pThisAttrArr->Search( nCurRow, nIndex );
 
 do
@@ -599,6 +600,7 @@ void ScDocument::FillInfo(
 }
 // if style is not there, treat 
like no condition
 }
+
 if(aData.pColorScale)
 {
 
pInfo->pColorScale.reset(aData.pColorScale);
@@ -610,6 +612,7 @@ void ScDocument::FillInfo(
 
pInfo->pDataBar.reset(aData.pDataBar);
 bFound = true;
 }
+
 if(aData.pIconSet)
 {
 
pInfo->pIconSet.reset(aData.pIconSet);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

New commits:
commit 8f0668a0e18f4fa01864ede5fa3f66b36bd4ad85
Author: Markus Mohrhard 
Date:   Wed Mar 30 02:24:54 2016 +0200

limit scope of another variable in ScDocument::FillInfo

Change-Id: Ic53bcaa5e33f221a643de4e854990769b5c04a74
Reviewed-on: https://gerrit.libreoffice.org/23633
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index e367088..c3dd480 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -465,7 +465,6 @@ void ScDocument::FillInfo(
 ScAttrArray* pThisAttrArr = pThisCol->pAttrArray;   // 
Attribute
 nArrRow = 0;
 
-const ScPatternAttr* pPattern;
 SCROW nCurRow=nRow1;  // single rows
 if (nCurRow>0)
 --nCurRow;  // 1 more on top
@@ -478,7 +477,7 @@ void ScDocument::FillInfo(
 do
 {
 nThisRow=pThisAttrArr->pData[nIndex].nRow; 
 // End of range
-pPattern=pThisAttrArr->pData[nIndex].pPattern;
+const ScPatternAttr* 
pPattern=pThisAttrArr->pData[nIndex].pPattern;
 
 const SvxBrushItem* pBackground = static_cast(
 
>GetItem(ATTR_BACKGROUND));
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |   38 +-
 1 file changed, 17 insertions(+), 21 deletions(-)

New commits:
commit 36eec4d179898302578c428564f1b60406c0716c
Author: Markus Mohrhard 
Date:   Wed Mar 30 02:15:07 2016 +0200

limit the scope of a few variable in ScDocument::FillInfo

This makes the code at least a little bit easier to read as we can now
see much easier when a variable is used to transport state between loops
and when it is just a variable local to a loop

Change-Id: Ib92ff1596bda35f9892accc820bc3596bafb7d96
Reviewed-on: https://gerrit.libreoffice.org/23632
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 07aafe7..e367088 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -209,27 +209,28 @@ bool isRotateItemUsed(ScDocumentPool *pPool)
 return false;
 }
 
-void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, SCROW& rY,
+void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo,
 double fRowScale, SCROW nRow1, SCTAB nTab, SCROW& rYExtra, SCSIZE& 
rArrRow, SCROW& rRow2)
 {
 sal_uInt16 nDocHeight = ScGlobal::nStdRowHeight;
 SCROW nDocHeightEndRow = -1;
 for (SCsROW nSignedY=((SCsROW)nRow1)-1; nSignedY<=(SCsROW)rYExtra; 
nSignedY++)
 {
+SCROW nY;
 if (nSignedY >= 0)
-rY = (SCROW) nSignedY;
+nY = (SCROW) nSignedY;
 else
-rY = MAXROW+1;  // invalid
+nY = MAXROW+1;  // invalid
 
-if (rY > nDocHeightEndRow)
+if (nY > nDocHeightEndRow)
 {
-if (ValidRow(rY))
-nDocHeight = pDoc->GetRowHeight( rY, nTab, nullptr, 
 );
+if (ValidRow(nY))
+nDocHeight = pDoc->GetRowHeight( nY, nTab, nullptr, 
 );
 else
 nDocHeight = ScGlobal::nStdRowHeight;
 }
 
-if ( rArrRow==0 || nDocHeight || rY > MAXROW )
+if ( rArrRow==0 || nDocHeight || nY > MAXROW )
 {
 RowInfo* pThisRowInfo = [rArrRow];
 pThisRowInfo->pCellInfo = nullptr; // is loaded 
below
@@ -238,7 +239,7 @@ void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, 
SCROW& rY,
 if (!nHeight)
 nHeight = 1;
 
-pThisRowInfo->nRowNo= rY;   //TODO: case < 0 ?
+pThisRowInfo->nRowNo= nY;   //TODO: case < 0 ?
 pThisRowInfo->nHeight   = nHeight;
 pThisRowInfo->bEmptyBack= true;
 pThisRowInfo->bEmptyText= true;
@@ -360,11 +361,6 @@ void ScDocument::FillInfo(
 const SvxShadowItem* pDefShadow =
 static_cast( >GetDefaultItem( 
ATTR_SHADOW ) );
 
-SCROW nThisRow;
-SCCOL nX;
-SCROW nY;
-SCsROW nSignedY;
-SCCOL nArrCol;
 SCSIZE nArrRow;
 SCSIZE nArrCount;
 bool bAnyMerged = false;
@@ -402,7 +398,7 @@ void ScDocument::FillInfo(
 
 nArrRow=0;
 SCROW nYExtra = nRow2+1;
-initRowInfo(this, pRowInfo, nY, fRowScale, nRow1,
+initRowInfo(this, pRowInfo, fRowScale, nRow1,
 nTab, nYExtra, nArrRow, nRow2);
 nArrCount = nArrRow;  // incl. Dummys
 
@@ -437,9 +433,9 @@ void ScDocument::FillInfo(
 if(pCondFormList)
 pCondFormList->startRendering();
 
-for (nArrCol=0; nArrCol<=nCol2+2; nArrCol++)// left & 
right + 1
+for (SCCOL nArrCol=0; nArrCol<=nCol2+2; nArrCol++)// 
left & right + 1
 {
-nX = (nArrCol>0) ? nArrCol-1 : MAXCOL+1;// 
negative -> invalid
+SCCOL nX = (nArrCol>0) ? nArrCol-1 : MAXCOL+1;// 
negative -> invalid
 
 if ( ValidCol(nX) )
 {
@@ -475,7 +471,7 @@ void ScDocument::FillInfo(
 --nCurRow;  // 1 more on top
 else
 nArrRow = 1;
-nThisRow=nCurRow;   // end of range
+SCROW nThisRow = nCurRow;   // end of range
 SCSIZE  nIndex;
 (void) pThisAttrArr->Search( nCurRow, nIndex );
 
@@ -712,7 +708,7 @@ void ScDocument::FillInfo(
 {
 for (nArrRow=0; nArrRow0) ? nArrCol-1 : MAXCOL+1;
@@ -775,9 +771,9 @@ void ScDocument::FillInfo(
 for (nArrRow=0; nArrRow

[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |   35 ---
 1 file changed, 20 insertions(+), 15 deletions(-)

New commits:
commit 772e66406b90bdb898e73b4fa944a6e55a42683b
Author: Markus Mohrhard 
Date:   Wed Mar 30 01:50:53 2016 +0200

extract another function from ScDocument::FillInfo

Change-Id: Iac607e1fe915c8bc90316508c98855a60117d435
Reviewed-on: https://gerrit.libreoffice.org/23631
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index 99d58c1..07aafe7 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -318,6 +318,25 @@ void initCellInfo(RowInfo* pRowInfo, SCSIZE nArrCount, 
SCCOL nRotMax, bool bPain
 }
 }
 
+void initColWidths(RowInfo* pRowInfo, ScDocument* pDoc, double fColScale, 
SCTAB nTab, SCCOL nCol2, SCCOL nRotMax)
+{
+for (SCCOL nArrCol=nCol2+3; nArrCol<=nRotMax+2; nArrCol++)// Add 
remaining widths
+{
+SCCOL nX = nArrCol-1;
+if ( ValidCol(nX) )
+{
+if (!pDoc->ColHidden(nX, nTab))
+{
+sal_uInt16 nThisWidth = (sal_uInt16) (pDoc->GetColWidth( nX, 
nTab ) * fColScale);
+if (!nThisWidth)
+nThisWidth = 1;
+
+pRowInfo[0].pCellInfo[nArrCol].nWidth = nThisWidth;
+}
+}
+}
+}
+
 }
 
 void ScDocument::FillInfo(
@@ -412,21 +431,7 @@ void ScDocument::FillInfo(
 initCellInfo(pRowInfo, nArrCount, nRotMax, bPaintMarks, pDefShadow,
 nBlockStartY, nBlockEndY, nBlockStartX, nBlockEndX);
 
-for (nArrCol=nCol2+3; nArrCol<=nRotMax+2; nArrCol++)// Add remaining 
widths
-{
-nX = nArrCol-1;
-if ( ValidCol(nX) )
-{
-if (!ColHidden(nX, nTab))
-{
-sal_uInt16 nThisWidth = (sal_uInt16) (GetColWidth( nX, nTab ) 
* fColScale);
-if (!nThisWidth)
-nThisWidth = 1;
-
-pRowInfo[0].pCellInfo[nArrCol].nWidth = nThisWidth;
-}
-}
-}
+initColWidths(pRowInfo, this, fColScale, nTab, nCol2, nRotMax);
 
 ScConditionalFormatList* pCondFormList = GetCondFormList(nTab);
 if(pCondFormList)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: sc/source

2016-03-29 Thread Markus Mohrhard
 sc/source/core/data/fillinfo.cxx |  110 ---
 1 file changed, 59 insertions(+), 51 deletions(-)

New commits:
commit 5ecda97eeab36ceab022458345f2c61c31ab2d94
Author: Markus Mohrhard 
Date:   Sun Mar 27 05:11:20 2016 +0200

extract another function from ScDocument::FillInfo

Change-Id: If6f898d514dc454a7f1c5448769a95269e9066d7
Reviewed-on: https://gerrit.libreoffice.org/23550
Tested-by: Jenkins 
Reviewed-by: Markus Mohrhard 

diff --git a/sc/source/core/data/fillinfo.cxx b/sc/source/core/data/fillinfo.cxx
index ed5e9dc..99d58c1 100644
--- a/sc/source/core/data/fillinfo.cxx
+++ b/sc/source/core/data/fillinfo.cxx
@@ -261,6 +261,63 @@ void initRowInfo(ScDocument* pDoc, RowInfo* pRowInfo, 
SCROW& rY,
 }
 }
 
+void initCellInfo(RowInfo* pRowInfo, SCSIZE nArrCount, SCCOL nRotMax, bool 
bPaintMarks,
+const SvxShadowItem* pDefShadow, SCROW nBlockStartY, SCROW nBlockEndY,
+SCCOL nBlockStartX, SCCOL nBlockEndX)
+{
+for (SCSIZE nArrRow = 0; nArrRow < nArrCount; nArrRow++)
+{
+RowInfo* pThisRowInfo = [nArrRow];
+SCROW nY = pThisRowInfo->nRowNo;
+pThisRowInfo->pCellInfo = new CellInfo[ nRotMax+1+2 ];  // to delete 
the caller!
+
+for (SCCOL nArrCol = 0; nArrCol <= nRotMax+2; nArrCol++)  // 
Preassign cell info
+{
+SCCOL nX;
+if (nArrCol>0)
+nX = nArrCol-1;
+else
+nX = MAXCOL+1;  // invalid
+
+CellInfo* pInfo = >pCellInfo[nArrCol];
+pInfo->bEmptyCellText = true;
+pInfo->maCell.clear();
+if (bPaintMarks)
+pInfo->bMarked = ( nX >= nBlockStartX && nX <= nBlockEndX
+&& nY >= nBlockStartY && nY <= nBlockEndY );
+else
+pInfo->bMarked = false;
+pInfo->nWidth = 0;
+
+pInfo->nClipMark= SC_CLIPMARK_NONE;
+pInfo->bMerged  = false;
+pInfo->bHOverlapped = false;
+pInfo->bVOverlapped = false;
+pInfo->bAutoFilter  = false;
+pInfo->bPivotButton  = false;
+pInfo->bPivotPopupButton = false;
+pInfo->bFilterActive = false;
+pInfo->nRotateDir   = SC_ROTDIR_NONE;
+
+pInfo->bPrinted = false;//  view-internal
+pInfo->bHideGrid= false;//  view-internal
+pInfo->bEditEngine  = false;//  view-internal
+
+pInfo->pBackground  = nullptr; //TODO: omit?
+pInfo->pPatternAttr = nullptr;
+pInfo->pConditionSet= nullptr;
+
+pInfo->pLinesAttr   = nullptr;
+pInfo->mpTLBRLine   = nullptr;
+pInfo->mpBLTRLine   = nullptr;
+
+pInfo->pShadowAttr= pDefShadow;
+pInfo->pHShadowOrigin = nullptr;
+pInfo->pVShadowOrigin = nullptr;
+}
+}
+}
+
 }
 
 void ScDocument::FillInfo(
@@ -352,57 +409,8 @@ void ScDocument::FillInfo(
 
 //  Allocate cell information only after the test rotation
 //  to nRotMax due to nRotateDir Flag
-
-for (nArrRow=0; nArrRownRowNo;
-pThisRowInfo->pCellInfo = new CellInfo[ nRotMax+1+2 ];  // to delete 
the caller!
-
-for (nArrCol=0; nArrCol<=nRotMax+2; nArrCol++)  // Preassign 
cell info
-{
-if (nArrCol>0)
-nX = nArrCol-1;
-else
-nX = MAXCOL+1;  // invalid
-
-CellInfo* pInfo = >pCellInfo[nArrCol];
-pInfo->bEmptyCellText = true;
-pInfo->maCell.clear();
-if (bPaintMarks)
-pInfo->bMarked = ( nX >= nBlockStartX && nX <= nBlockEndX
-&& nY >= nBlockStartY && nY <= nBlockEndY );
-else
-pInfo->bMarked = false;
-pInfo->nWidth = 0;
-
-pInfo->nClipMark= SC_CLIPMARK_NONE;
-pInfo->bMerged  = false;
-pInfo->bHOverlapped = false;
-pInfo->bVOverlapped = false;
-pInfo->bAutoFilter  = false;
-pInfo->bPivotButton  = false;
-pInfo->bPivotPopupButton = false;
-pInfo->bFilterActive = false;
-pInfo->nRotateDir   = SC_ROTDIR_NONE;
-
-pInfo->bPrinted = false;//  view-internal
-pInfo->bHideGrid= false;//  view-internal
-pInfo->bEditEngine  = false;//  view-internal
-
-pInfo->pBackground  = nullptr; //TODO: omit?
-pInfo->pPatternAttr = nullptr;
-pInfo->pConditionSet= nullptr;
-
-

[Libreoffice-bugs] [Bug 98966] SUM function error when both column references are absolute and both row references are relative

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98966

Joel Madero  changed:

   What|Removed |Added

 Status|NEEDINFO|UNCONFIRMED
 Ever confirmed|1   |0

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98966] SUM function error when both column references are absolute and both row references are relative

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98966

--- Comment #5 from Harry Friday  ---
Please ignore my second comment reporting an error for summations using only
relative addressing.  That error cannot be reliably repeated.  The original
reported bug remains an issue

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98966] SUM function error when both column references are absolute and both row references are relative

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98966

--- Comment #4 from Harry Friday  ---
Created attachment 123942
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123942=edit
CALC file illustrating SUM bug: example: "=SUM($C10:$G10)"

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98966] SUM function error when both column references are absolute and both row references are relative

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98966

--- Comment #3 from Joel Madero  ---
Again - please attach a sample document. Thanks

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98966] SUM function error when both column references are absolute and both row references are relative

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98966

--- Comment #2 from Harry Friday  ---
Since the discovery of the SUM bug described below, I have  found that a
different spreadsheet which also exhibits a SUM error, but with a significant
difference.  In this case the form "=SUM(D20:H20)" sums to zero for any values
in the specified cells, but if ANY of the cell references is made absolute, the
sum is correctly calculated.  This is sort of the inverse of the reported bug
below.  So for example,  "=SUM($D20:H20)" or "=SUM(D$20:H20)" or
"=SUM($D20:$H20)", etc. will all calculate the sum correctly.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98710] Crash with "show preview of fonts" enabled for combobox list with new DirectWrite rendering

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98710

--- Comment #17 from V Stuart Foote  ---
Created attachment 123941
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123941=edit
with OpenGL and embedded SMP fonts -- glyphs positioned OK but clipped

@Tor,

This attachment for you, more for bug 97171 (or bug 98709) but shows that with
font embedded the SMP glyphs are positioned correctly, but are being cropped in
the vertical axis.  Guess that is because when embedded we don't need to do
font fallback?

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98710] Crash with "show preview of fonts" enabled for combobox list with new DirectWrite rendering

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98710

--- Comment #16 from V Stuart Foote  ---
Created attachment 123940
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123940=edit
hit debug breakpoint

OK, ran this again and stepping over to run the analyze it looks like maybe
someone set a debug breakpoint, hope it is of use.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] online.git: loolwsd/test

2016-03-29 Thread Ashod Nakashian
 loolwsd/test/httpwstest.cpp |  138 +---
 1 file changed, 130 insertions(+), 8 deletions(-)

New commits:
commit 494b90e5415a753ef586785f5256b9a03f5b0e03
Author: Ashod Nakashian 
Date:   Tue Mar 29 21:29:53 2016 -0400

loolwsd: new unittests

Change-Id: I935dbc79df638a7481f851b3e7b42703b97b93ec
Reviewed-on: https://gerrit.libreoffice.org/23648
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/test/httpwstest.cpp b/loolwsd/test/httpwstest.cpp
index 143c556..d01aa4d 100644
--- a/loolwsd/test/httpwstest.cpp
+++ b/loolwsd/test/httpwstest.cpp
@@ -38,8 +38,9 @@ class HTTPWSTest : public CPPUNIT_NS::TestFixture
 
 CPPUNIT_TEST_SUITE(HTTPWSTest);
 CPPUNIT_TEST(testLoad);
-CPPUNIT_TEST(testLoad);
+CPPUNIT_TEST(testBadLoad);
 CPPUNIT_TEST(testReload);
+//CPPUNIT_TEST(testSaveOnDisconnect);
 CPPUNIT_TEST(testExcelLoad);
 CPPUNIT_TEST(testPaste);
 CPPUNIT_TEST(testLargePaste);
@@ -52,7 +53,9 @@ class HTTPWSTest : public CPPUNIT_NS::TestFixture
 CPPUNIT_TEST_SUITE_END();
 
 void testLoad();
+void testBadLoad();
 void testReload();
+void testSaveOnDisconnect();
 void testExcelLoad();
 void testPaste();
 void testLargePaste();
@@ -110,7 +113,7 @@ void HTTPWSTest::testLoad()
 try
 {
 // Load a document and get its status.
-const std::string documentPath = Util::getTempFilePath(TDOC, 
"hide-whitespace.odt");
+const std::string documentPath = Util::getTempFilePath(TDOC, 
"hello.odt");
 _tmpFilePath = documentPath;
 const std::string documentURL = "file://" + 
Poco::Path(documentPath).makeAbsolute().toString();
 
@@ -129,22 +132,66 @@ void HTTPWSTest::testLoad()
 {
 char buffer[READ_BUFFER_SIZE];
 n = socket.receiveFrame(buffer, sizeof(buffer), flags);
-std::cout << "Got " << n << " bytes, flags: " << std::hex << flags 
<< std::dec << '\n';
+std::cout << "Got " << n << " bytes, flags: " << std::hex << flags 
<< std::dec << std::endl;
 if (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE)
 {
-std::cout << "Received message: " << 
LOOLProtocol::getAbbreviatedMessage(buffer, n) << '\n';
-std::string line = LOOLProtocol::getFirstLine(buffer, n);
-std::string prefix = "status: ";
+std::cout << "Received message: " << 
LOOLProtocol::getAbbreviatedMessage(buffer, n) << std::endl;
+const std::string line = LOOLProtocol::getFirstLine(buffer, n);
+const std::string prefix = "status: ";
 if (line.find(prefix) == 0)
 {
 status = line.substr(prefix.length());
 // Might be too strict, consider something flexible 
instread.
-CPPUNIT_ASSERT_EQUAL(std::string("type=text parts=2 
current=0 width=12808 height=32532"), status);
+CPPUNIT_ASSERT_EQUAL(std::string("type=text parts=1 
current=0 width=12808 height=16408"), status);
 break;
 }
 }
 }
 while (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE);
+
+sendTextFrame(socket, "disconnect");
+socket.shutdown();
+}
+catch (const Poco::Exception& exc)
+{
+CPPUNIT_ASSERT_MESSAGE(exc.displayText(), false);
+}
+}
+
+void HTTPWSTest::testBadLoad()
+{
+try
+{
+// Load a document and get its status.
+const std::string documentPath = Util::getTempFilePath(TDOC, 
"hello.odt");
+_tmpFilePath = documentPath;
+const std::string documentURL = "file://" + 
Poco::Path(documentPath).makeAbsolute().toString();
+
+Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_GET, 
documentURL);
+Poco::Net::HTTPSClientSession session(_uri.getHost(), _uri.getPort());
+Poco::Net::WebSocket socket(session, request, _response);
+
+// Before loading request status.
+sendTextFrame(socket, "status");
+
+int flags;
+int n;
+do
+{
+char buffer[READ_BUFFER_SIZE];
+n = socket.receiveFrame(buffer, sizeof(buffer), flags);
+std::cout << "Got " << n << " bytes, flags: " << std::hex << flags 
<< std::dec << std::endl;
+if (n > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE)
+{
+std::cout << "Received message: " << 
LOOLProtocol::getAbbreviatedMessage(buffer, n) << std::endl;
+const std::string line = LOOLProtocol::getFirstLine(buffer, n);
+CPPUNIT_ASSERT_EQUAL(std::string("error: cmd=status 

[Libreoffice-commits] online.git: loolwsd/LOOLBroker.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/LOOLBroker.cpp |  137 ++---
 1 file changed, 86 insertions(+), 51 deletions(-)

New commits:
commit cbabd6177d0e8aaaf77053d4ba17b069fc6dd4da
Author: Ashod Nakashian 
Date:   Tue Mar 29 21:26:25 2016 -0400

loolwsd: improved child spawning and management

Spare child processes are now in a separate
container. A FIFO that gives older instances
priority to avoid using instances too young
to have initialized fully.

In addition, spare instances are now
proactively spawned such that there
is at least a minimum number of
spares at any given time.

Change-Id: Ibdb206d88473adb306c274f4af39798c784258a0
Reviewed-on: https://gerrit.libreoffice.org/23647
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index 49e2eef..49a9e1f 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -136,39 +136,32 @@ namespace
 };
 
 static std::map 
_childProcesses;
+static std::deque _newChildProcesses;
 
-/// Looks up a child hosting a URL, or returns an empty one.
+/// Looks up a child hosting a URL, otherwise returns an empty one.
+/// If neither exist, then returns null.
 std::shared_ptr findChild(const std::string& url)
 {
-std::shared_ptr child;
 for (const auto& it : _childProcesses)
 {
-Log::trace() << "Child [" << it.second->getPid()
- << "] url [" << url << "]." << Log::end;
 if (it.second->getUrl() == url)
 {
 return it.second;
 }
+}
 
-if (it.second->getUrl().empty())
-{
-// Empty one, but keep going, we might find ours.
-child = it.second;
-}
+// Try an empty one.
+if (!_newChildProcesses.empty())
+{
+auto child = _newChildProcesses.front();
+_newChildProcesses.pop_front();
+return child;
 }
 
-return child;
+return nullptr;
 }
 
-/// Looks up the pipe descriptor
-/// of a child. Returns -1 on error.
-int getChildPipe(const Process::PID pid)
-{
-const auto it = _childProcesses.find(pid);
-return (it != _childProcesses.end() ? it->second->getWritePipe() : -1);
-}
-
-/// Removes a child process.
+/// Removes a used child process. New ones can't be removed.
 void removeChild(const Process::PID pid, const bool rude)
 {
 const auto it = _childProcesses.find(pid);
@@ -189,24 +182,35 @@ public:
 {
 }
 
-bool createSession(const Process::PID pid, const std::string& session, 
const std::string& url)
+bool createSession(const std::shared_ptr& child, const 
std::string& session, const std::string& url)
 {
 const std::string message = "session " + session + " " + url + "\n";
-if (IoUtil::writeFIFO(getChildPipe(pid), message) < 0)
+const auto childPid = std::to_string(child->getPid());
+const auto childPipe = child->getWritePipe();
+if (IoUtil::writeFIFO(childPipe, message) < 0)
 {
-Log::error("Error sending session message to child [" + 
std::to_string(pid) + "].");
+Log::error("Error sending session message to child [" + childPid + 
"].");
 return false;
 }
 
-std::string response;
-if (_childPipeReader.readLine(response, [](){ return TerminationFlag; 
}) < 0)
+while (true)
 {
-Log::error("Error reading response to session message from child 
[" + std::to_string(pid) + "].");
-return false;
-}
+std::string response;
+if (_childPipeReader.readLine(response, [](){ return 
TerminationFlag; }) <= 0)
+{
+Log::error("Error reading response to session message from 
child [" + childPid + "].");
+return false;
+}
+
+StringTokenizer tokens(response, " ", 
StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM);
+if (tokens.count() > 0 && tokens[0] != childPid)
+{
+// Not a response from the child in question.
+continue;
+}
 
-StringTokenizer tokens(response, " ", 
StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM);
-return (tokens.count() == 2 && tokens[0] == std::to_string(pid) && 
tokens[1] == "ok");
+return (tokens.count() == 2 && tokens[1] == "ok");
+}
 }
 
 /// Sync ChildProcess instances with its child.
@@ -294,19 +298,15 @@ public:
 Log::debug("Found URL [" + url + "] hosted on child [" + 
childPid + "].");
 }
 
-

[Libreoffice-commits] online.git: loolwsd/IoUtil.cpp loolwsd/LOOLBroker.cpp loolwsd/LOOLProtocol.cpp loolwsd/TileCache.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/IoUtil.cpp   |2 +-
 loolwsd/LOOLBroker.cpp   |3 ++-
 loolwsd/LOOLProtocol.cpp |4 +++-
 loolwsd/TileCache.cpp|8 
 4 files changed, 10 insertions(+), 7 deletions(-)

New commits:
commit 2ba9bddf9a2a9534e646ea7212601ef935374f8b
Author: Ashod Nakashian 
Date:   Tue Mar 29 20:56:25 2016 -0400

loolwsd: logging improvements

Change-Id: Ie656aa9d9f19762a960f6608cdadccf3c7eee665
Reviewed-on: https://gerrit.libreoffice.org/23646
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index c7cc54c..96574c3 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -168,7 +168,7 @@ void SocketProcessor(std::shared_ptr ws,
 if (!payload.empty())
 {
 Log::warn(name + "Last message will not be processed: [" +
-  LOOLProtocol::getAbbreviatedMessage(payload.data(), 
payload.size()) + "].");
+  LOOLProtocol::getFirstLine(payload.data(), 
payload.size()) + "].");
 }
 }
 catch (const WebSocketException& exc)
diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index fdb43a3..49e2eef 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -277,7 +277,8 @@ public:
 const std::string session = tokens[1];
 const std::string url = tokens[2];
 
-Log::debug("Finding kit for URL [" + url + "] on session [" + 
session + "].");
+Log::debug("Finding kit for URL [" + url + "] on session [" + 
session +
+   "] in " + std::to_string(_childProcesses.size()) + " 
childs.");
 
 const auto child = findChild(url);
 if (child)
diff --git a/loolwsd/LOOLProtocol.cpp b/loolwsd/LOOLProtocol.cpp
index b514636..ab87c22 100644
--- a/loolwsd/LOOLProtocol.cpp
+++ b/loolwsd/LOOLProtocol.cpp
@@ -158,7 +158,9 @@ namespace LOOLProtocol
 }
 
 const auto firstLine = getFirstLine(message, length);
-if (firstLine.size() < static_cast(length))
+
+// If first line is less than the length (minus newline), add eclipes.
+if (firstLine.size() < static_cast(length) - 1)
 {
 return std::string('\'' + firstLine + "'...");
 }
diff --git a/loolwsd/TileCache.cpp b/loolwsd/TileCache.cpp
index b59e720..988e9c2 100644
--- a/loolwsd/TileCache.cpp
+++ b/loolwsd/TileCache.cpp
@@ -52,19 +52,19 @@ TileCache::TileCache(const std::string& docURL,
 _isEditing(false),
 _hasUnsavedChanges(false)
 {
-Log::info("TileCache ctor.");
+Log::info("TileCache ctor for uri [" + _docURL + "].");
 const bool cleanEverything = (getLastModified() < modifiedTime);
 if (cleanEverything)
 {
 // document changed externally, clean up everything
 Util::removeFile(_rootCacheDir, true);
-Log::info("Completely cleared cache: " + _rootCacheDir);
+Log::info("Completely cleared tilecache: " + _rootCacheDir);
 }
 else
 {
 // remove only the Editing cache
 Util::removeFile(_editCacheDir, true);
-Log::info("Cleared the editing cache: " + _editCacheDir);
+Log::info("Cleared the editing tilecache: " + _editCacheDir);
 }
 
 File cacheDir(_rootCacheDir);
@@ -75,7 +75,7 @@ TileCache::TileCache(const std::string& docURL,
 
 TileCache::~TileCache()
 {
-Log::info("~TileCache dtor.");
+Log::info("~TileCache dtor for uri [" + _docURL + "].");
 }
 
 std::unique_ptr TileCache::lookupTile(int part, int width, int 
height, int tilePosX, int tilePosY, int tileWidth, int tileHeight)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: loolwsd/IoUtil.cpp loolwsd/IoUtil.hpp loolwsd/LOOLBroker.cpp loolwsd/LOOLKit.cpp loolwsd/LOOLWSD.cpp loolwsd/MasterProcessSession.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/IoUtil.cpp   |   19 ++
 loolwsd/IoUtil.hpp   |2 -
 loolwsd/LOOLBroker.cpp   |   73 +--
 loolwsd/LOOLKit.cpp  |   18 -
 loolwsd/LOOLWSD.cpp  |   12 +++---
 loolwsd/MasterProcessSession.cpp |8 +++-
 6 files changed, 46 insertions(+), 86 deletions(-)

New commits:
commit fe69c4d5b647d0191748956ffc2c5255b914b858
Author: Ashod Nakashian 
Date:   Mon Mar 28 16:07:02 2016 -0400

loolwsd: pipe plumbing cleanup

Change-Id: I5519235a4601e1e38cedc3f06ffe9386434a292d
Reviewed-on: https://gerrit.libreoffice.org/23645
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index b2bd61e..c7cc54c 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -207,14 +207,14 @@ void 
shutdownWebSocket(std::shared_ptr ws)
 
 ssize_t writeFIFO(int pipe, const char* buffer, ssize_t size)
 {
-ssize_t bytes = -1;
 ssize_t count = 0;
-
 while(true)
 {
-bytes = write(pipe, buffer + count, size - count);
+Log::trace("Writing to pipe. Data: [" + std::string(buffer, size) + 
"].");
+const auto bytes = write(pipe, buffer + count, size - count);
 if (bytes < 0)
 {
+Log::error("Failed to write to pipe. Retrying. Data: [" + 
std::string(buffer, size) + "].");
 if (errno == EINTR || errno == EAGAIN)
 continue;
 
@@ -281,6 +281,8 @@ int PipeReader::readLine(std::string& line,
 // We have a line cached, return it.
 line += std::string(_data.data(), endOfLine);
 _data.erase(0, endOfLine - _data.data() + 1); // Including the '\n'.
+Log::trace() << "Read existing line from pipe: " << _name << ", line: 
["
+ << line << "], data: [" << _data << "]." << Log::end;
 return 1;
 }
 
@@ -291,7 +293,7 @@ int PipeReader::readLine(std::string& line,
 {
 if (stopPredicate())
 {
-Log::info() << "Spot requested for pipe: " << _name << Log::end;
+Log::info() << "Stop requested for pipe: " << _name << '.' << 
Log::end;
 return -1;
 }
 
@@ -300,6 +302,7 @@ int PipeReader::readLine(std::string& line,
 pipe.events = POLLIN;
 pipe.revents = 0;
 const int ready = poll(, 1, pollTimeoutMs);
+Log::trace() << "Poll for pipe: " << _name << " returned: " << ready 
<< Log::end;
 if (ready == 0)
 {
 // Timeout.
@@ -314,6 +317,7 @@ int PipeReader::readLine(std::string& line,
 {
 char buffer[READ_BUFFER_SIZE];
 const auto bytes = readFIFO(_pipe, buffer, sizeof(buffer));
+Log::trace() << "readFIFO for pipe: " << _name << " returned: " << 
bytes << Log::end;
 if (bytes < 0)
 {
 return -1;
@@ -324,15 +328,18 @@ int PipeReader::readLine(std::string& line,
 {
 // Got end of line.
 line = _data;
-auto tail = std::string(static_cast(buffer), 
endOfLine);
+const auto tail = std::string(static_cast(buffer), endOfLine);
 line += tail;
-_data = std::string(endOfLine, bytes - tail.size() - 1); // 
Exclude the '\n'.
+_data = std::string(endOfLine + 1, bytes - tail.size() - 1); 
// Exclude the '\n'.
+Log::trace() << "Read line from pipe: " << _name << ", line: 
[" << line
+<< "], data: [" << _data << "]." << Log::end;
 return 1;
 }
 else
 {
 // More data, keep going.
 _data += std::string(buffer, bytes);
+Log::trace() << "data appended to pipe: " << _name << ", data: 
" << _data << Log::end;
 }
 }
 else if (pipe.revents & (POLLERR | POLLHUP | POLLNVAL))
diff --git a/loolwsd/IoUtil.hpp b/loolwsd/IoUtil.hpp
index c7a4e00..016a808 100644
--- a/loolwsd/IoUtil.hpp
+++ b/loolwsd/IoUtil.hpp
@@ -59,7 +59,7 @@ namespace IoUtil
 /// On success, line will contain the read message.
 int readLine(std::string& line,
  std::function stopPredicate,
- const size_t timeoutMs);
+ const size_t timeoutMs = POLL_TIMEOUT_MS);
 
 void process(std::function handler,
  std::function stopPredicate,
diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index a551365..fdb43a3 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -184,65 +184,14 @@ namespace
 class PipeRunnable: public Runnable
 {
 public:
-PipeRunnable()
-  : _start(nullptr),
-_end(nullptr)
+PipeRunnable() :
+

[Libreoffice-commits] online.git: loolwsd/Admin.cpp loolwsd/IoUtil.cpp loolwsd/IoUtil.hpp loolwsd/LOOLBroker.cpp loolwsd/LOOLKit.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/Admin.cpp  |   12 +---
 loolwsd/IoUtil.cpp |  135 +
 loolwsd/IoUtil.hpp |   29 +-
 loolwsd/LOOLBroker.cpp |   11 +--
 loolwsd/LOOLKit.cpp|4 -
 5 files changed, 128 insertions(+), 63 deletions(-)

New commits:
commit ecce874315984f01f6baa6ebcdb2a347d291c3c4
Author: Ashod Nakashian 
Date:   Mon Mar 28 14:22:18 2016 -0400

loolwsd: new PipeReader class to poll and tokenize pipe messages

Change-Id: I5676b313ca4c7e711ead04c1491fe36591a00531
Reviewed-on: https://gerrit.libreoffice.org/23644
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/Admin.cpp b/loolwsd/Admin.cpp
index be9c93a..1bbfc22 100644
--- a/loolwsd/Admin.cpp
+++ b/loolwsd/Admin.cpp
@@ -481,12 +481,6 @@ void Admin::run()
 _cpuStatsTask = new CpuStats(this);
 _cpuStatsTimer.schedule(_cpuStatsTask, _cpuStatsTaskInterval, 
_cpuStatsTaskInterval);
 
-// Start listening for data changes
-struct pollfd pollPipeNotify;
-pollPipeNotify.fd = NotifyPipe;
-pollPipeNotify.events = POLLIN;
-pollPipeNotify.revents = 0;
-
 static const std::string thread_name = "admin_thread";
 
 if (prctl(PR_SET_NAME, reinterpret_cast(thread_name.c_str()), 0, 0, 0) != 0)
@@ -494,8 +488,10 @@ void Admin::run()
 
 Log::info("Thread [" + thread_name + "] started.");
 
-IoUtil::pollPipeForReading(pollPipeNotify, FIFO_NOTIFY, NotifyPipe,
-[this](std::string& message) { return 
handleInput(message); } );
+// Start listening for data changes.
+IoUtil::PipeReader pipeReader(FIFO_NOTIFY, NotifyPipe);
+pipeReader.process([this](std::string& message) { handleInput(message); 
return true; },
+   []() { return TerminationFlag; });
 
 _memStatsTimer.cancel();
 _cpuStatsTimer.cancel();
diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index 70e386c..b2bd61e 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -268,62 +268,113 @@ ssize_t readMessage(const int pipe, char* buffer, const 
ssize_t size, const size
 return -1;
 }
 
-void pollPipeForReading(pollfd& pollPipe, const std::string& targetPipeName , 
const int& targetPipe,
-std::function handler)
+/// Reads a single line from a pipe.
+/// Returns 0 for timeout, <0 for error, and >0 on success.
+/// On success, line will contain the read message.
+int PipeReader::readLine(std::string& line,
+ std::function stopPredicate,
+ const size_t timeoutMs)
 {
-std::string message;
-char buffer[READ_BUFFER_SIZE];
-char* start = buffer;
-char* end = buffer;
-ssize_t bytes = -1;
+const char *endOfLine = static_cast(std::memchr(_data.data(), '\n', _data.size()));
+if (endOfLine != nullptr)
+{
+// We have a line cached, return it.
+line += std::string(_data.data(), endOfLine);
+_data.erase(0, endOfLine - _data.data() + 1); // Including the '\n'.
+return 1;
+}
 
-while (!TerminationFlag)
+// Poll in short intervals to check for stop condition.
+const auto pollTimeoutMs = 500;
+auto maxPollCount = timeoutMs / pollTimeoutMs;
+while (maxPollCount-- > 0)
 {
-if (start == end)
+if (stopPredicate())
+{
+Log::info() << "Spot requested for pipe: " << _name << Log::end;
+return -1;
+}
+
+struct pollfd pipe;
+pipe.fd = _pipe;
+pipe.events = POLLIN;
+pipe.revents = 0;
+const int ready = poll(, 1, pollTimeoutMs);
+if (ready == 0)
+{
+// Timeout.
+continue;
+}
+else if (ready < 0)
+{
+// error.
+return ready;
+}
+else if (pipe.revents & (POLLIN | POLLPRI))
 {
-if (poll(, 1, POLL_TIMEOUT_MS) < 0)
+char buffer[READ_BUFFER_SIZE];
+const auto bytes = readFIFO(_pipe, buffer, sizeof(buffer));
+if (bytes < 0)
 {
-Log::error("Failed to poll pipe [" + targetPipeName + "].");
-continue;
+return -1;
 }
-else if (pollPipe.revents & (POLLIN | POLLPRI))
+
+const char *endOfLine = static_cast(std::memchr(buffer, '\n', bytes));
+if (endOfLine != nullptr)
 {
-bytes = readFIFO(targetPipe, buffer, sizeof(buffer));
-if (bytes < 0)
-{
-start = end = nullptr;
-Log::error("Error reading message from pipe [" + 
targetPipeName + "].");
-continue;
-}
-start = buffer;
-end = buffer + bytes;
+// Got end of line.
+

[Libreoffice-bugs] [Bug 98710] Crash with "show preview of fonts" enabled for combobox list with new DirectWrite rendering

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98710

--- Comment #15 from V Stuart Foote  ---
Created attachment 123939
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123939=edit
stacktrace at winlayout.cxx for document with Symbola embedded

So moved the document with Symbola embedded to my home system (Windows 10 Pro
64-bit en-US) with Version: 5.2.0.0.alpha0+
Build ID: 379fb96dbd5ce0fdb0aaf5244d50583dc13d7611
CPU Threads: 8; OS Version: Windows 6.19; UI Render: GL; 
TinderBox: Win-x86@39, Branch:master, Time: 2016-03-26_14:01:39
Locale: en-US (en_US)

Test document opens, and interestingly, even with OpenGL enabled, with the
fonts embedded I get corretly placed SMP glyphs, they are only cropped a bit.

However, the Font Preview in the combobox list still crashed. Remains in
winlayout.cxx but seem to have a different call to
WinFontInstance::AddChunkOfGlyphs that is causing the SEH Exception crash.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] online.git: loolwsd/MasterProcessSession.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/MasterProcessSession.cpp |   23 ---
 1 file changed, 12 insertions(+), 11 deletions(-)

New commits:
commit c966a804f8ba12401cb85681f0a4099c15391954
Author: Ashod Nakashian 
Date:   Mon Mar 28 09:08:33 2016 -0400

loolwsd: throw when we fail to connect to lokit

Change-Id: I52f5c923cfc8fa4c28309066d8457418154e6b20
Reviewed-on: https://gerrit.libreoffice.org/23643
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/MasterProcessSession.cpp b/loolwsd/MasterProcessSession.cpp
index 3be97d5..f274a0e 100644
--- a/loolwsd/MasterProcessSession.cpp
+++ b/loolwsd/MasterProcessSession.cpp
@@ -103,6 +103,7 @@ bool MasterProcessSession::_handleInput(const char *buffer, 
int length)
 {
 const std::string firstLine = getFirstLine(buffer, length);
 StringTokenizer tokens(firstLine, " ", StringTokenizer::TOK_IGNORE_EMPTY | 
StringTokenizer::TOK_TRIM);
+Log::trace(getName() + ": handling [" + firstLine + "].");
 
 if (tokens[0] == "loolclient")
 {
@@ -378,10 +379,15 @@ bool MasterProcessSession::_handleInput(const char 
*buffer, int length)
 // a child process.
 
 if (_peer.expired())
+{
+Log::trace("Dispatching child to handle [" + tokens[0] + "].");
 dispatchChild();
+}
 
 if (tokens[0] == "setclientpart")
+{
 _docBroker->tileCache().removeFile("status.txt");
+}
 
 if (tokens[0] != "requestloksession")
 {
@@ -757,22 +763,17 @@ void MasterProcessSession::dispatchChild()
 }
 }
 
-if (isFound)
-{
-Log::debug("Waiting child session permission, done!");
-childSession = AvailableChildSessions[getId()];
-AvailableChildSessions.erase(getId());
-}
-
-lock.unlock();
-
-if (retries < 0 && !isFound)
+if (!isFound)
 {
 Log::error(getName() + ": Failed to connect to child. Shutting down 
socket.");
 IoUtil::shutdownWebSocket(_ws);
-return;
+throw std::runtime_error("Failed to connect to child.");
 }
 
+Log::debug("Waiting child session permission, done!");
+childSession = AvailableChildSessions[getId()];
+AvailableChildSessions.erase(getId());
+
 _peer = childSession;
 childSession->_peer = shared_from_this();
 childSession->_docBroker = _docBroker;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: loolwsd/LOOLBroker.cpp loolwsd/LOOLKit.cpp loolwsd/MasterProcessSession.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/LOOLBroker.cpp   |   14 +++---
 loolwsd/LOOLKit.cpp  |4 ++--
 loolwsd/MasterProcessSession.cpp |2 +-
 3 files changed, 10 insertions(+), 10 deletions(-)

New commits:
commit 9150d560c05a6c88cbff1e8f010655bc61eeabb6
Author: Ashod Nakashian 
Date:   Mon Mar 28 09:01:46 2016 -0400

loolwsd: thread -> session

Change-Id: I7d9f84a2c9afea5f541f5815929745d2de93c8fa
Reviewed-on: https://gerrit.libreoffice.org/23642
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index af64448..eab8777 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -240,19 +240,19 @@ public:
 return bytes;
 }
 
-bool createThread(const Process::PID pid, const std::string& session, 
const std::string& url)
+bool createSession(const Process::PID pid, const std::string& session, 
const std::string& url)
 {
-const std::string message = "thread " + session + " " + url + "\r\n";
+const std::string message = "session " + session + " " + url + "\r\n";
 if (IoUtil::writeFIFO(getChildPipe(pid), message) < 0)
 {
-Log::error("Error sending thread message to child [" + 
std::to_string(pid) + "].");
+Log::error("Error sending session message to child [" + 
std::to_string(pid) + "].");
 return false;
 }
 
 std::string response;
 if (getResponseLine(readerChild, response) < 0)
 {
-Log::error("Error reading response to thread message from child [" 
+ std::to_string(pid) + "].");
+Log::error("Error reading response to session message from child 
[" + std::to_string(pid) + "].");
 return false;
 }
 
@@ -326,7 +326,7 @@ public:
 const std::string session = tokens[1];
 const std::string url = tokens[2];
 
-Log::debug("Finding kit for URL [" + url + "] on thread [" + 
session + "].");
+Log::debug("Finding kit for URL [" + url + "] on session [" + 
session + "].");
 
 const auto child = findChild(url);
 if (child)
@@ -342,14 +342,14 @@ public:
 Log::debug("Found URL [" + url + "] hosted on child [" + 
childPid + "].");
 }
 
-if (createThread(child->getPid(), session, url))
+if (createSession(child->getPid(), session, url))
 {
 child->setUrl(url);
 Log::debug("Child [" + childPid + "] now hosts [" + url + 
"] for session [" + session + "].");
 }
 else
 {
-Log::error("Error creating thread [" + session + "] for 
URL [" + url + "] on child [" + childPid + "].");
+Log::error("Error creating session [" + session + "] for 
URL [" + url + "] on child [" + childPid + "].");
 if (isEmptyChild)
 {
 // This is probably a child in bad state. Rid of it 
and create new.
diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp
index fa98b6c..8c9ef9f 100644
--- a/loolwsd/LOOLKit.cpp
+++ b/loolwsd/LOOLKit.cpp
@@ -1015,7 +1015,7 @@ void lokit_main(const std::string& childRoot,
 // Too late, we're going down.
 response += "down \r\n";
 }
-else if (tokens[0] == "thread")
+else if (tokens[0] == "session")
 {
 const std::string& sessionId = tokens[1];
 const unsigned intSessionId = 
Util::decodeId(sessionId);
@@ -1056,7 +1056,7 @@ void lokit_main(const std::string& childRoot,
 }
 else
 {
-response += "bad \r\n";
+response += "bad unknown token [" + tokens[0] + "] 
\r\n";
 }
 
 IoUtil::writeFIFO(writerBroker, response);
diff --git a/loolwsd/MasterProcessSession.cpp b/loolwsd/MasterProcessSession.cpp
index 459bdc7..3be97d5 100644
--- a/loolwsd/MasterProcessSession.cpp
+++ b/loolwsd/MasterProcessSession.cpp
@@ -736,7 +736,7 @@ void MasterProcessSession::dispatchChild()
 std::shared_ptr childSession;
 std::unique_lock lock(AvailableChildSessionMutex);
 
-Log::debug() << "Waiting for a child session permission for thread [" << 
getId() << "]." << Log::end;
+Log::debug() << "Waiting for child session [" << getId() << "] to 
connect." << Log::end;
 while (retries-- && !isFound)
 {
 AvailableChildSessionCV.wait_for(
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: loolwsd/LOOLBroker.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/LOOLBroker.cpp |   39 +--
 1 file changed, 17 insertions(+), 22 deletions(-)

New commits:
commit 59db6cbc09fa6c52e180bfc3365f20f430195665
Author: Ashod Nakashian 
Date:   Sun Mar 27 23:26:01 2016 -0400

loolwsd: recursive_mutex -> mutex in LOOLBroker

Change-Id: I72be54cc67b965bbd13a6630d1243d8d59ba0fc4
Reviewed-on: https://gerrit.libreoffice.org/23641
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index b62b26b..af64448 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -43,7 +43,7 @@ static std::chrono::steady_clock::time_point 
lastMaintenanceTime = std::chrono::
 static unsigned int childCounter = 0;
 static int numPreSpawnedChildren = 0;
 
-static std::recursive_mutex forkMutex;
+static std::mutex forkMutex;
 
 namespace
 {
@@ -137,14 +137,10 @@ namespace
 
 static std::map 
_childProcesses;
 
-/// Safely looks up a child hosting a URL.
+/// Looks up a child hosting a URL, or returns an empty one.
 std::shared_ptr findChild(const std::string& url)
 {
-std::lock_guard lock(forkMutex);
-
 std::shared_ptr child;
-Log::trace() << "Finding child for url [" << url << "] in "
- << _childProcesses.size() << " childs." << Log::end;
 for (const auto& it : _childProcesses)
 {
 Log::trace() << "Child [" << it.second->getPid()
@@ -164,19 +160,17 @@ namespace
 return child;
 }
 
-/// Safely looks up the pipe descriptor
+/// Looks up the pipe descriptor
 /// of a child. Returns -1 on error.
 int getChildPipe(const Process::PID pid)
 {
-std::lock_guard lock(forkMutex);
 const auto it = _childProcesses.find(pid);
 return (it != _childProcesses.end() ? it->second->getWritePipe() : -1);
 }
 
-/// Safely removes a child process.
+/// Removes a child process.
 void removeChild(const Process::PID pid, const bool rude)
 {
-std::lock_guard lock(forkMutex);
 const auto it = _childProcesses.find(pid);
 if (it != _childProcesses.end())
 {
@@ -270,8 +264,6 @@ public:
 /// Returns the number of empty children.
 size_t syncChildren()
 {
-std::lock_guard lock(forkMutex);
-
 Log::trace("Synching children.");
 size_t empty_count = 0;
 for (auto it = _childProcesses.begin(); it != _childProcesses.end(); )
@@ -325,9 +317,10 @@ public:
 
 void handleInput(const std::string& message)
 {
-std::lock_guard lock(forkMutex);
-
 StringTokenizer tokens(message, " ", StringTokenizer::TOK_IGNORE_EMPTY 
| StringTokenizer::TOK_TRIM);
+
+std::lock_guard lock(forkMutex);
+
 if (tokens[0] == "request" && tokens.count() == 3)
 {
 const std::string session = tokens[1];
@@ -353,14 +346,15 @@ public:
 {
 child->setUrl(url);
 Log::debug("Child [" + childPid + "] now hosts [" + url + 
"] for session [" + session + "].");
-return;
 }
-
-Log::error("Error creating thread [" + session + "] for URL [" 
+ url + "] on child [" + childPid + "].");
-if (isEmptyChild)
+else
 {
-// This is probably a child in bad state. Rid of it and 
create new.
-removeChild(child->getPid(), true);
+Log::error("Error creating thread [" + session + "] for 
URL [" + url + "] on child [" + childPid + "].");
+if (isEmptyChild)
+{
+// This is probably a child in bad state. Rid of it 
and create new.
+removeChild(child->getPid(), true);
+}
 }
 }
 else
@@ -761,6 +755,7 @@ int main(int argc, char** argv)
 const pid_t pid = waitpid(-1, , WUNTRACED | WNOHANG);
 if (pid > 0)
 {
+std::lock_guard lock(forkMutex);
 if (WIFEXITED(status))
 {
 childExitCode = Util::getChildStatus(WEXITSTATUS(status));
@@ -826,7 +821,7 @@ int main(int argc, char** argv)
 }
 else
 {
-Log::error("Error: last child exited with error code.");
+Log::error("Error: last child exited with error code. 
Terminating.");
 TerminationFlag = true; //FIXME: Why?
 continue;
 }
@@ -839,7 +834,7 @@ int main(int argc, char** argv)
 
 if (forkCounter > 0 && childExitCode == EXIT_SUCCESS)
 {
-std::lock_guard lock(forkMutex);
+std::lock_guard lock(forkMutex);
 
 

[Libreoffice-commits] online.git: loolwsd/LOOLKit.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/LOOLKit.cpp |  120 +++-
 1 file changed, 72 insertions(+), 48 deletions(-)

New commits:
commit 4b38df745590119c5b10bbdefa67fcf7f5b33bf2
Author: Ashod Nakashian 
Date:   Sun Mar 27 20:05:23 2016 -0400

loolwsd: lokit command handling improvements

Change-Id: I81baddb30805ee1bce5399171a40e73a18af68bf
Reviewed-on: https://gerrit.libreoffice.org/23640
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp
index eb8a683..fa98b6c 100644
--- a/loolwsd/LOOLKit.cpp
+++ b/loolwsd/LOOLKit.cpp
@@ -381,53 +381,64 @@ public:
 
 const std::string& getUrl() const { return _url; }
 
-void createSession(const std::string& sessionId, const unsigned 
intSessionId)
+bool createSession(const std::string& sessionId, const unsigned 
intSessionId)
 {
 std::unique_lock lock(_mutex);
 
-const auto& it = _connections.find(intSessionId);
-if (it != _connections.end())
+try
 {
-// found item, check if still running
-if (it->second->isRunning())
+const auto& it = _connections.find(intSessionId);
+if (it != _connections.end())
 {
-Log::warn("Thread [" + sessionId + "] is already running.");
-return;
-}
-
-// Restore thread.
-Log::warn("Thread [" + sessionId + "] is not running. Restoring.");
-_connections.erase(intSessionId);
-}
-
-Log::info() << "Creating " << (_clientViews ? "new" : "first")
-<< " view for url: " << _url << " for sessionId: " << 
sessionId
-<< " on jailId: " << _jailId << Log::end;
+// found item, check if still running
+if (it->second->isRunning())
+{
+Log::warn("Session [" + sessionId + "] is already 
running.");
+return true;
+}
 
-// Open websocket connection between the child process and the
-// parent. The parent forwards us requests that it can't handle (i.e 
most).
+// Restore thread. TODO: Review this logic.
+Log::warn("Session [" + sessionId + "] is not running. 
Restoring.");
+_connections.erase(intSessionId);
+}
 
-HTTPClientSession cs("127.0.0.1", MASTER_PORT_NUMBER);
-cs.setTimeout(0);
-HTTPRequest request(HTTPRequest::HTTP_GET, std::string(CHILD_URI) + 
"sessionId=" + sessionId + "=" + _jailId + "=" + _docKey);
-HTTPResponse response;
+Log::info() << "Creating " << (_clientViews ? "new" : "first")
+<< " view for url: " << _url << " for sessionId: " << 
sessionId
+<< " on jailId: " << _jailId << Log::end;
 
-auto ws = std::make_shared(cs, request, response);
-ws->setReceiveTimeout(0);
+// Open websocket connection between the child process and the
+// parent. The parent forwards us requests that it can't handle 
(i.e most).
+HTTPClientSession cs("127.0.0.1", MASTER_PORT_NUMBER);
+cs.setTimeout(0);
+HTTPRequest request(HTTPRequest::HTTP_GET, std::string(CHILD_URI) 
+ "sessionId=" + sessionId + "=" + _jailId + "=" + _docKey);
+HTTPResponse response;
 
-auto session = std::make_shared(sessionId, ws, 
_loKitDocument, _jailId,
-   [this](const std::string& id, const std::string& uri, 
const std::string& docPassword, bool isDocPasswordProvided) { return onLoad(id, 
uri, docPassword, isDocPasswordProvided); },
-   [this](const std::string& id) { onUnload(id); });
+auto ws = std::make_shared(cs, request, response);
+ws->setReceiveTimeout(0);
 
-auto thread = std::make_shared(session, ws);
-const auto aInserted = _connections.emplace(intSessionId, thread);
+auto session = std::make_shared(sessionId, 
ws, _loKitDocument, _jailId,
+   [this](const std::string& id, const std::string& 
uri, const std::string& docPassword, bool isDocPasswordProvided) { return 
onLoad(id, uri, docPassword, isDocPasswordProvided); },
+   [this](const std::string& id) { onUnload(id); });
 
-if ( aInserted.second )
-thread->start();
-else
-Log::error("Connection already exists for child: " + _jailId + ", 
thread: " + sessionId);
+auto thread = std::make_shared(session, ws);
+const auto aInserted = _connections.emplace(intSessionId, thread);
+if (aInserted.second)
+{
+thread->start();
+}
+else
+{
+Log::error("Connection already 

[Libreoffice-bugs] [Bug 98968] Ghost toolbar in a11y support

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

--- Comment #5 from Joel Madero  ---
I suggest QA address the flowchart and continue polishing guidance for
severity/priority. I was convinced that this is "minor" by Arnaud - to call it
normal I think is inconsistent with prior practice.

Minor: Can slow down but will not prevent high quality work;
Normal: Will entirely prevent high quality/professional quality work

If the idea is to make exceptions for accessibility, I think someone should
update the flowchart to reflect this. It needs to be updated anyways to remove
blocker and MAB


Just my two cents :)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] online.git: loolwsd/LOOLKit.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/LOOLKit.cpp |   69 +---
 1 file changed, 23 insertions(+), 46 deletions(-)

New commits:
commit 4305d333b23102c0f9d88bb083cad5c25825e162
Author: Ashod Nakashian 
Date:   Sun Mar 27 19:44:21 2016 -0400

loolwsd: lokit process can only host one url in its lifetime

Change-Id: I561e5b81a748b7ec567af9aff968ba5c66ad44bf
Reviewed-on: https://gerrit.libreoffice.org/23639
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp
index 9d9dbc5..eb8a683 100644
--- a/loolwsd/LOOLKit.cpp
+++ b/loolwsd/LOOLKit.cpp
@@ -793,21 +793,14 @@ void lokit_main(const std::string& childRoot,
 Util::rng::reseed();
 #endif
 
-struct pollfd pollPipeBroker;
-ssize_t bytes = -1;
-int   ready = 0;
-bool  isUsedKit = false;
-char  buffer[READ_BUFFER_SIZE];
-char* start = nullptr;
-char* end = nullptr;
-
 assert(!childRoot.empty());
 assert(!sysTemplate.empty());
 assert(!loTemplate.empty());
 assert(!loSubPath.empty());
 assert(!pipe.empty());
 
-std::map _documents;
+// We only host a single document in our lifetime.
+std::shared_ptr document;
 
 // Ideally this will be a random ID, but broker will cleanup
 // our jail directory when we die, and it's simpler to know
@@ -939,27 +932,23 @@ void lokit_main(const std::string& childRoot,
 
 Log::info("loolkit [" + std::to_string(Process::id()) + "] is ready.");
 
-std::string response;
-std::string message;
+char* start = nullptr;
+char* end = nullptr;
 
 while (!TerminationFlag)
 {
 if (start == end)
 {
+struct pollfd pollPipeBroker;
 pollPipeBroker.fd = readerBroker;
 pollPipeBroker.events = POLLIN;
 pollPipeBroker.revents = 0;
 
-ready = poll(, 1, POLL_TIMEOUT_MS);
+const int ready = poll(, 1, POLL_TIMEOUT_MS);
 if (ready == 0)
 {
 // time out maintenance
-for (auto it = _documents.cbegin(); it != 
_documents.cend(); )
-{
-it = (it->second->canDiscard() ? _documents.erase(it) 
: ++it);
-}
-
-if (isUsedKit && _documents.empty())
+if (document && document->canDiscard())
 {
 Log::info("Document closed. Flagging for 
termination.");
 TerminationFlag = true;
@@ -974,7 +963,8 @@ void lokit_main(const std::string& childRoot,
 else
 if (pollPipeBroker.revents & (POLLIN | POLLPRI))
 {
-bytes = IoUtil::readFIFO(readerBroker, buffer, 
sizeof(buffer));
+char buffer[READ_BUFFER_SIZE];
+const auto bytes = IoUtil::readFIFO(readerBroker, buffer, 
sizeof(buffer));
 if (bytes < 0)
 {
 start = end = nullptr;
@@ -994,6 +984,7 @@ void lokit_main(const std::string& childRoot,
 
 if (start != end)
 {
+std::string message;
 char byteChar = *start++;
 while (start != end && byteChar != '\r' && byteChar != '\n')
 {
@@ -1004,17 +995,11 @@ void lokit_main(const std::string& childRoot,
 if (byteChar == '\r' && *start == '\n')
 {
 start++;
-StringTokenizer tokens(message, " ", 
StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM);
-response = std::to_string(Process::id()) + " ";
-
 Log::trace("Recv: " + message);
+StringTokenizer tokens(message, " ", 
StringTokenizer::TOK_IGNORE_EMPTY | StringTokenizer::TOK_TRIM);
+auto response = std::to_string(Process::id()) + " ";
 
-for (auto it = _documents.cbegin(); it != 
_documents.cend(); )
-{
-it = (it->second->canDiscard() ? _documents.erase(it) 
: ++it);
-}
-
-if (TerminationFlag || (isUsedKit && _documents.empty()))
+if (TerminationFlag || (document && 
document->canDiscard()))
 {
 TerminationFlag = true;
 response += "down \r\n";
@@ -1023,15 +1008,8 @@ void lokit_main(const std::string& childRoot,
 {
 if (tokens[1] == "url")
 {
-if (_documents.empty())
-{
-response += "empty \r\n";
-

[Libreoffice-commits] online.git: loolwsd/IoUtil.cpp loolwsd/IoUtil.hpp loolwsd/LOOLBroker.cpp loolwsd/LOOLKit.cpp loolwsd/TileCache.cpp

2016-03-29 Thread Ashod Nakashian
 loolwsd/IoUtil.cpp |4 ++--
 loolwsd/IoUtil.hpp |3 ++-
 loolwsd/LOOLBroker.cpp |   20 
 loolwsd/LOOLKit.cpp|   19 ++-
 loolwsd/TileCache.cpp  |1 -
 5 files changed, 26 insertions(+), 21 deletions(-)

New commits:
commit 3d2c2fde3b5c9b0e6db19e3d6012b47c1a4be0fa
Author: Ashod Nakashian 
Date:   Sun Mar 27 19:43:15 2016 -0400

loolwsd: logging and misc cleanup

Change-Id: If3cea8191fe15fc752c436cd33d2a68dc2d88598
Reviewed-on: https://gerrit.libreoffice.org/23638
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index cf46e7e..70e386c 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -247,7 +247,7 @@ ssize_t readFIFO(int pipe, char* buffer, ssize_t size)
 return bytes;
 }
 
-ssize_t readMessage(int pipe, char* buffer, ssize_t size)
+ssize_t readMessage(const int pipe, char* buffer, const ssize_t size, const 
size_t timeoutSec)
 {
 struct pollfd pollPipe;
 
@@ -255,7 +255,7 @@ ssize_t readMessage(int pipe, char* buffer, ssize_t size)
 pollPipe.events = POLLIN;
 pollPipe.revents = 0;
 
-const int nPoll = poll(, 1, CHILD_TIMEOUT_SECS * 1000);
+const int nPoll = poll(, 1, timeoutSec * 1000);
 if ( nPoll < 0 )
 return -1;
 
diff --git a/loolwsd/IoUtil.hpp b/loolwsd/IoUtil.hpp
index 1647e29..8a0f53d 100644
--- a/loolwsd/IoUtil.hpp
+++ b/loolwsd/IoUtil.hpp
@@ -42,7 +42,8 @@ namespace IoUtil
 
 ssize_t readFIFO(int pipe, char* buffer, ssize_t size);
 
-ssize_t readMessage(int pipe, char* buffer, ssize_t size);
+ssize_t readMessage(const int pipe, char* buffer, const ssize_t size,
+const size_t timeoutSec = CHILD_TIMEOUT_SECS);
 
 void pollPipeForReading(pollfd& pollPipe, const std::string& 
targetPipeName , const int& targetPipe,
 std::function handler);
diff --git a/loolwsd/LOOLBroker.cpp b/loolwsd/LOOLBroker.cpp
index 59bb30c..b62b26b 100644
--- a/loolwsd/LOOLBroker.cpp
+++ b/loolwsd/LOOLBroker.cpp
@@ -196,19 +196,19 @@ public:
 {
 }
 
-ssize_t getResponseLine(int pipeReader, std::string& response)
+ssize_t getResponseLine(const int pipeReader, std::string& response)
 {
 ssize_t bytes = -1;
 response.clear();
 
 try
 {
-while (true)
+for (;;)
 {
 if (_start == _end)
 {
 bytes = IoUtil::readMessage(pipeReader, _buffer, 
sizeof(_buffer));
-if ( bytes < 0 )
+if (bytes < 0)
 {
 _start = _end = nullptr;
 break;
@@ -218,7 +218,7 @@ public:
 _end = _buffer + bytes;
 }
 
-if ( _start != _end )
+if (_start != _end)
 {
 char byteChar = *_start++;
 while (_start != _end && byteChar != '\r' && byteChar != 
'\n')
@@ -229,7 +229,7 @@ public:
 
 if (byteChar == '\r' && *_start == '\n')
 {
-_start++;
+++_start;
 break;
 }
 }
@@ -341,9 +341,13 @@ public:
 const auto childPid = std::to_string(child->getPid());
 const auto isEmptyChild = child->getUrl().empty();
 if (isEmptyChild)
-Log::debug("Found URL [" + url + "] hosted on child [" + 
childPid + "].");
-else
+{
 Log::debug("URL [" + url + "] is not hosted. Using empty 
child [" + childPid + "].");
+}
+else
+{
+Log::debug("Found URL [" + url + "] hosted on child [" + 
childPid + "].");
+}
 
 if (createThread(child->getPid(), session, url))
 {
@@ -710,7 +714,7 @@ int main(int argc, char** argv)
 const std::string pipeNotify = Path(pipePath, FIFO_NOTIFY).toString();
 if ((writerNotify = open(pipeNotify.c_str(), O_WRONLY) ) < 0)
 {
-Log::error("Error: pipe opened for writing.");
+Log::error("Error: failed to open notify pipe [" + FIFO_NOTIFY + "] 
for writing.");
 exit(Application::EXIT_SOFTWARE);
 }
 
diff --git a/loolwsd/LOOLKit.cpp b/loolwsd/LOOLKit.cpp
index a79f1db..9d9dbc5 100644
--- a/loolwsd/LOOLKit.cpp
+++ b/loolwsd/LOOLKit.cpp
@@ -353,7 +353,7 @@ public:
 if (aIterator.second->isRunning())
 {
 std::shared_ptr ws = 
aIterator.second->getWebSocket();
-if ( ws )
+if (ws)
 {
 ws->shutdownReceive();
  

[Libreoffice-commits] online.git: loolwsd/IoUtil.cpp loolwsd/IoUtil.hpp loolwsd/LOOLWSD.cpp loolwsd/Makefile.am

2016-03-29 Thread Ashod Nakashian
 loolwsd/IoUtil.cpp  |  165 +++-
 loolwsd/IoUtil.hpp  |9 ++
 loolwsd/LOOLWSD.cpp |  158 +++--
 loolwsd/Makefile.am |2 
 4 files changed, 186 insertions(+), 148 deletions(-)

New commits:
commit b25fe9d88a86bc247f1f3aedbbf7a51c5193d259
Author: Ashod Nakashian 
Date:   Sun Mar 27 16:06:22 2016 -0400

loolwsd: moved SocketProcessor to IoUtil and generalized more

Change-Id: I527e57d2430e21249cf8cd4867f22fdbbd092b09
Reviewed-on: https://gerrit.libreoffice.org/23637
Reviewed-by: Ashod Nakashian 
Tested-by: Ashod Nakashian 

diff --git a/loolwsd/IoUtil.cpp b/loolwsd/IoUtil.cpp
index 7284eeb..cf46e7e 100644
--- a/loolwsd/IoUtil.cpp
+++ b/loolwsd/IoUtil.cpp
@@ -18,16 +18,179 @@
 #include 
 #include 
 
-#include 
+#include 
+#include 
 #include 
+#include 
 #include 
 
 #include "Common.hpp"
+#include "LOOLProtocol.hpp"
 #include "IoUtil.hpp"
 #include "Util.hpp"
 
 namespace IoUtil
 {
+using Poco::Net::WebSocket;
+using Poco::Net::WebSocketException;
+
+// Synchronously process WebSocket requests and dispatch to handler.
+// Handler returns false to end.
+void SocketProcessor(std::shared_ptr ws,
+ Poco::Net::HTTPServerResponse& response,
+ std::function handler,
+ std::function stopPredicate,
+ std::string name,
+ const size_t pollTimeoutMs)
+{
+if (!name.empty())
+{
+name = "[" + name + "] ";
+}
+
+Log::info(name + "Starting Socket Processor.");
+
+// Timeout given is in microseconds.
+const Poco::Timespan waitTime(pollTimeoutMs * 1000);
+try
+{
+ws->setReceiveTimeout(0);
+
+int flags = 0;
+int n = 0;
+bool stop = false;
+std::vector payload(READ_BUFFER_SIZE * 100);
+
+for (;;)
+{
+stop = stopPredicate();
+if (stop)
+{
+Log::info(name + "Termination flagged. Finishing.");
+break;
+}
+
+if (!ws->poll(waitTime, Poco::Net::Socket::SELECT_READ))
+{
+// Wait some more.
+continue;
+}
+
+payload.resize(payload.capacity());
+n = ws->receiveFrame(payload.data(), payload.capacity(), flags);
+if (n >= 0)
+{
+payload.resize(n);
+}
+
+if ((flags & WebSocket::FRAME_OP_BITMASK) == 
WebSocket::FRAME_OP_PING)
+{
+// Echo back the ping payload as pong.
+// Technically, we should send back a PONG control frame.
+// However Firefox (probably) or Node.js (possibly) doesn't
+// like that and closes the socket when we do.
+// Echoing the payload as a normal frame works with Firefox.
+ws->sendFrame(payload.data(), n /*, 
WebSocket::FRAME_OP_PONG*/);
+continue;
+}
+else if ((flags & WebSocket::FRAME_OP_BITMASK) == 
WebSocket::FRAME_OP_PONG)
+{
+// In case we do send pings in the future.
+continue;
+}
+else if (n <= 0 || ((flags & WebSocket::FRAME_OP_BITMASK) == 
WebSocket::FRAME_OP_CLOSE))
+{
+Log::warn(name + "Connection closed.");
+break;
+}
+
+assert(n > 0);
+
+const std::string firstLine = LOOLProtocol::getFirstLine(payload);
+if ((flags & WebSocket::FrameFlags::FRAME_FLAG_FIN) != 
WebSocket::FrameFlags::FRAME_FLAG_FIN)
+{
+// One WS message split into multiple frames.
+while (true)
+{
+char buffer[READ_BUFFER_SIZE * 10];
+n = ws->receiveFrame(buffer, sizeof(buffer), flags);
+if (n <= 0 || (flags & WebSocket::FRAME_OP_BITMASK) == 
WebSocket::FRAME_OP_CLOSE)
+{
+break;
+}
+
+payload.insert(payload.end(), buffer, buffer + n);
+if ((flags & WebSocket::FrameFlags::FRAME_FLAG_FIN) == 
WebSocket::FrameFlags::FRAME_FLAG_FIN)
+{
+// No more frames.
+break;
+}
+}
+}
+else
+{
+int size = 0;
+Poco::StringTokenizer tokens(firstLine, " ", 
Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM);
+if (tokens.count() == 2 &&
+tokens[0] == "nextmessage:" && 
LOOLProtocol::getTokenInteger(tokens[1], "size", size) && size > 0)
+{
+

[Libreoffice-bugs] [Bug 98968] Ghost toolbar in a11y support

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

V Stuart Foote  changed:

   What|Removed |Added

   Priority|lowest  |low
 CC||vstuart.fo...@utsa.edu
Summary|Ghost toolbar   |Ghost toolbar in a11y
   ||support
   Severity|trivial |normal

--- Comment #4 from V Stuart Foote  ---
Actually navigation for Assistive Technology is highly dependent on the F6, F10
and assignment of consistent (predictable) keyboard accelerators and Shortcuts.

This xtra "Ghost Toolbar" (Orca) or empty "Option Pane" (NVDA) is annoying and
confusing to folks dependent on Assistive Technology.


F6 (Shift-F6) movement through default Controls on Writer are

   Main menu (File)

   Standard Toolbar

   "Option pane" -- the "Ghost toolbar" of this issue --

   Formatting Toolbar

   Split Pane -- the Sidebar deck --

   Document canvas

   Main menu (File)

F10 toggles between the Main menu and the Document canvas.

This blank "option pane" has present for quite a while, and I've never been
able to figure out what piece of the GUI is receiving the focus.

Regardless, it is an annoyance and definitely degrades the UX for those
dependent on AT, it should be resolved as reliable navigation is of paramount
concern in our accessibility support.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 73833] [l10n] No translation in quicklist on Ubuntu for Unity entries

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=73833

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
   See Also||https://launchpad.net/bugs/
   ||1170035
 Resolution|--- |FIXED
   Assignee|libreoffice-b...@lists.free |bjoern.michaelsen@canonical
   |desktop.org |.com

--- Comment #9 from Björn Michaelsen  ---
Not only is translatable, but actually is translated in 5.1.1/Ubuntu 16.04.

see also: https://bugs.launchpad.net/ubuntu/+source/libreoffice/+bug/1170035

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98970] Defining named expressions results in miscalculations and precedent issues

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98970

m.a.riosv  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||miguelangelrv@libreoffice.o
   ||rg
 Resolution|--- |DUPLICATE

--- Comment #2 from m.a.riosv  ---
Hi @Bradley,

3) I think this is a duplicate of bug fdo#93894

5) Editing IncomeGrossP2 to have the right absolute address, then it seems to
work properly. With a relative address, reference change relatively to the cell
on where it is.

6) Seems there is a bug in how calc present the row range and how calc needs it
must be defined, introducing Budget!R57:R57 seems to work fine. Please report a
separated bug. With Calc or Excel A1 notation the range to define the name is
right.

7)8)9) I think the same issue than in 3) or in relation.

Please add a new report bug for 6) (One bug one report), and follow the other
in fdo#93894, adding your comments there if you want.

Closed as duplicate, please if you are not agree reopen it.

*** This bug has been marked as a duplicate of bug 93894 ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 93894] calc doesn't handle well the column labels in a table with more than one line of data.

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=93894

m.a.riosv  changed:

   What|Removed |Added

 CC||brad...@bradleysepos.com

--- Comment #7 from m.a.riosv  ---
*** Bug 98970 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 77936] When enable QuickStarter in Ubuntu Unity, there is no systray in the notification area

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=77936

Phil Wolff  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|NOTOURBUG   |---

--- Comment #8 from Phil Wolff  ---
Look back at my original submission, where it says "systray-whitelist set to
'all'". I'm now at 15.10, the dconf entry whitelist still says 'all', and
there's still no LO icon in the notification area.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 59920] Alt hotkeys often conflict with Windowmanager bindings -- alternatives should be considered on Linux

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=59920

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |NEEDINFO
 CC||libreoffice-ux-advise@lists
   ||.freedesktop.org
  Component|Writer  |ux-advise
 Blocks||98259
Summary|Can’t use Alt hotkey to |Alt hotkeys often conflict
   |open Window menu in Ubuntu  |with Windowmanager bindings
   ||-- alternatives should be
   ||considered on Linux

--- Comment #3 from Björn Michaelsen  ---
Ubuntu Unity captures many Alt+XXX combos:

 https://help.ubuntu.com/community/KeyboardShortcuts

This is not uncommon, many window managers do so.

Remapping keybindings per platform requires a systematic approach, thus
blocking this on the metaissue tdf#98259 and setting component to ux-advise and
NEEDINFO.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98259] META: Keyboard shortcuts (accelerators)

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98259

Björn Michaelsen  changed:

   What|Removed |Added

 Depends on||59920

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-ux-advise] [Bug 59920] Alt hotkeys often conflict with Windowmanager bindings -- alternatives should be considered on Linux

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=59920

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |NEEDINFO
 CC||libreoffice-ux-advise@lists
   ||.freedesktop.org
  Component|Writer  |ux-advise
 Blocks||98259
Summary|Can’t use Alt hotkey to |Alt hotkeys often conflict
   |open Window menu in Ubuntu  |with Windowmanager bindings
   ||-- alternatives should be
   ||considered on Linux

--- Comment #3 from Björn Michaelsen  ---
Ubuntu Unity captures many Alt+XXX combos:

 https://help.ubuntu.com/community/KeyboardShortcuts

This is not uncommon, many window managers do so.

Remapping keybindings per platform requires a systematic approach, thus
blocking this on the metaissue tdf#98259 and setting component to ux-advise and
NEEDINFO.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-bugs] [Bug 89420] DocBoundaries IsVisible boolean property is not honored for Draw component, unable to turn off margin markings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=89420

Katarina Behrens (CIB)  changed:

   What|Removed |Added

   Assignee|libreoffice-b...@lists.free |katarina.behr...@cib.de
   |desktop.org |
Summary|Expert Configuration:   |DocBoundaries IsVisible
   |DocBoundaries IsVisible |boolean property is not
   |boolean property is not |honored for Draw component,
   |honored for Draw component, |unable to turn off margin
   |unable to turn off margin   |markings
   |markings|

--- Comment #3 from Katarina Behrens (CIB)  ---
Actually this isn't limited to expert configuration, one can toggle the
visibility of things directly in Tools > Options > Libreoffice > Application
Colours (formerly Appearance), it's maybe slightly unintuitive to see that it's
the left-most checkbox associated with (some) colour list entries . Unchecking
it turns displaying of the given item off.

That doesn't however change the fact that this setting isn't honoured for
Impress and Draw. Anyway, it's very easy to fix

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 77936] When enable QuickStarter in Ubuntu Unity, there is no systray in the notification area

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=77936

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |NOTOURBUG

--- Comment #7 from Björn Michaelsen  ---
AFAICR Ubuntu Unity has an explicit whitelist of tray icons it allows. I assume
the Quickstart just isnt on it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


Re: About validators

2016-03-29 Thread Alexander
Thank You, Miklos !
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-bugs] [Bug 91874] Search over main menu (Tell Me or Ubuntu's HUD alternative)

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=91874

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #2 from Björn Michaelsen  ---
Closing this as WFM as the dbus menu export is there and works. All it needs is
the desktop software outside of LibreOffice to pick it up like Unity does.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 93734] Ubuntu unity doesnt hide for LibreOffice Calc fullscreen

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=93734

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |NOTOURBUG
Summary|FULLSCREEN Ubuntu unity |Ubuntu unity doesnt hide
   ||for LibreOffice Calc
   ||fullscreen

--- Comment #3 from Björn Michaelsen  ---
That doesnt seem to be a bug in LibreOffice, but in Unity. Please continue at:

 https://launchpad.net/bugs/764253

Closing here as NOTOURBUG.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 93734] FULLSCREEN Ubuntu unity

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=93734

Björn Michaelsen  changed:

   What|Removed |Added

   See Also||https://launchpad.net/bugs/
   ||764253

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 93145] Icon themes are not self-contained in 5.0 any more (was: the icon on Sidebar and Bottom right corner cannot display on Ubuntu 14.04)

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=93145

Björn Michaelsen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #15 from Björn Michaelsen  ---
Closing this as WONTFIX: Downstream packaging has been adapted, and we
(upstream) now can declare darkness as the new standard and claim this is by
design.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 55838] EDITING: ctrl + end does not jump to end of document

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=55838

Björn Michaelsen  changed:

   What|Removed |Added

   See Also||https://bugs.documentfounda
   ||tion.org/show_bug.cgi?id=49
   ||091

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 49091] UI: Alt-Left, Alt-Right keyboard shortcuts ineffective

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=49091

Björn Michaelsen  changed:

   What|Removed |Added

   See Also||https://bugs.documentfounda
   ||tion.org/show_bug.cgi?id=55
   ||838

--- Comment #16 from Björn Michaelsen  ---
55838 and 49091 are possibly related

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98960] Crash with OpenGL image scaling

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98960

László Németh  changed:

   What|Removed |Added

 OS|Windows (All)   |All

--- Comment #3 from László Németh  ---
Marco Cecchetti's patch fixed also the following Linux crash, too:

In Impress, using a test presentation with a 16 MP image, the scaling for the
slide view resulted a program crash. Repeating in the make debugrun mode, that
showed this OpenGL scaling problem, too:

[New Thread 0x2aaadd914700 (LWP 26567)]
warn:vcl.opengl:26538:1:vcl/source/opengl/OpenGLHelper.cxx:298: Loading file:
'file:///home/laci/libreoffice/instdir/program/../program/../cache/textureVertexShader-areaScaleFragmentShader-6D479974990D230817D4DF187C5E2962.bin':
FAIL
warn:vcl.opengl:26538:4:vcl/source/opengl/OpenGLHelper.cxx:858: Watchdog
triggered: hard disable GL
[New Thread 0x2aaaddd16700 (LWP 26672)]
[Thread 0x2aaaddd16700 (LWP 26672) exited]
warn:vcl.opengl:26538:1:vcl/source/opengl/OpenGLHelper.cxx:352: Binary size is
zero
warn:vcl.opengl:26538:4:vcl/source/opengl/OpenGLHelper.cxx:877: Watchdog gave
up: aborting

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x2aaacb2a4700 (LWP 26543)]
0x2b316cc9 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56../nptl/sysdeps/unix/sysv/linux/raise.c: Nincs ilyen fájl vagy könyvtár.
(gdb) bt
#0  0x2b316cc9 in __GI_raise (sig=sig@entry=6)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1  0x2b31a0d8 in __GI_abort () at abort.c:89
#2  0x2aaab308a412 in OpenGLWatchdogThread::execute (this=0x14d8f80)
at /home/laci/libreoffice/vcl/source/opengl/OpenGLHelper.cxx:879
#3  0x2df6b9e4 in salhelper::Thread::run (this=0x14d8f80)
at /home/laci/libreoffice/salhelper/source/thread.cxx:40
#4  0x2df6bdb7 in osl::threadFunc (param=0x14d8f90)
at /home/laci/libreoffice/include/osl/thread.hxx:185
#5  0x2ad3d86e in osl_thread_start_Impl (pData=0x14d8fc0)
at /home/laci/libreoffice/sal/osl/unx/thread.cxx:240
#6  0x2b6ad182 in start_thread (arg=0x2aaacb2a4700)
at pthread_create.c:312
#7  0x2b3da47d in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 97261] Colored font char, alignment changes

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97261

enrico.dellaqu...@gmail.com changed:

   What|Removed |Added

 CC||enrico.dellaqu...@gmail.com

--- Comment #6 from enrico.dellaqu...@gmail.com ---
Created attachment 123938
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123938=edit
also in linux+LO 4.2.8.2

another user sent me this screenshot, linux (don't know which version) and LO
4.2.8.2
the problem persists...

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98960] Crash with OpenGL image scaling

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98960

--- Comment #2 from Commit Notification 
 ---
Marco Cecchetti committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=f11a228cfd326bc089d7ff1c11a1561cdf5ee986

tdf#98960 fix OpenGL crash by optimized image scaling

It will be available in 5.2.0.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98960] Crash with OpenGL image scaling

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98960

Commit Notification  changed:

   What|Removed |Added

 Whiteboard||target:5.2.0

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 97319] With OpenGL enabled Unicode codepoints beyond BMP not rendered, affecting SMP and plane 2 -- Windows only?

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97319

--- Comment #15 from V Stuart Foote  ---
*** Bug 98709 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98970] Defining named expressions results in miscalculations and precedent issues

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98970

Joel Madero  changed:

   What|Removed |Added

 CC||jmadero@gmail.com
Version|5.1.1.3 release |5.0.3.2 release

--- Comment #1 from Joel Madero  ---
Updating version as OP says it was present in 5.0.x (version is earliest
version where problem exists)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: vcl/opengl

2016-03-29 Thread Marco Cecchetti
 vcl/opengl/areaScaleFragmentShader.glsl |8 +--
 vcl/opengl/scale.cxx|   77 +---
 2 files changed, 76 insertions(+), 9 deletions(-)

New commits:
commit f11a228cfd326bc089d7ff1c11a1561cdf5ee986
Author: Marco Cecchetti 
Date:   Tue Mar 29 22:32:53 2016 +0200

tdf#98960 fix OpenGL crash by optimized image scaling

using area scale shader - 2 passes impl - sqrt scale factor

Change-Id: I973ae0a281735787b045ce8fd5df03f8caa8f189

diff --git a/vcl/opengl/areaScaleFragmentShader.glsl 
b/vcl/opengl/areaScaleFragmentShader.glsl
index b95b869..c83c5e0 100644
--- a/vcl/opengl/areaScaleFragmentShader.glsl
+++ b/vcl/opengl/areaScaleFragmentShader.glsl
@@ -48,11 +48,11 @@ void main(void)
 
 // How much each column/row will contribute to the resulting pixel.
 // assert( xscale <= 100 ); assert( yscale <= 100 );
-float xratio[ 100 + 2 ];
-float yratio[ 100 + 2 ];
+float xratio[ 16 + 2 ];
+float yratio[ 16 + 2 ];
 // For finding the first and last source pixel.
-int xpixel[ 100 + 2 ];
-int ypixel[ 100 + 2 ];
+int xpixel[ 16 + 2 ];
+int ypixel[ 16 + 2 ];
 
 int xpos = 0;
 int ypos = 0;
diff --git a/vcl/opengl/scale.cxx b/vcl/opengl/scale.cxx
index 00a2894..e8cfdcc 100644
--- a/vcl/opengl/scale.cxx
+++ b/vcl/opengl/scale.cxx
@@ -208,11 +208,28 @@ bool OpenGLSalBitmap::ImplScaleArea( const 
rtl::Reference< OpenGLContext > 
 bool fast = ( ixscale == int( ixscale ) && iyscale == int( iyscale )
 && int( nNewWidth * ixscale ) == mnWidth && int( nNewHeight * iyscale 
) == mnHeight );
 
+bool bTwoPasses = false;
+
 // The generic case has arrays only up to 100 ratio downscaling, which is 
hopefully enough
 // in practice, but protect against buffer overflows in case such an 
extreme case happens
 // (and in such case the precision of the generic algorithm probably 
doesn't matter anyway).
 if( ixscale > 100 || iyscale > 100 )
+{
 fast = true;
+}
+else
+{
+if (ixscale > 16 || iyscale > 16)
+{
+ixscale = std::floor(std::sqrt(ixscale));
+iyscale = std::floor(std::sqrt(iyscale));
+nNewWidth = int(mnWidth / ixscale);
+rScaleX *= ixscale; // second pass x-scale factor
+nNewHeight = int(mnHeight / iyscale);
+rScaleY *= iyscale; // second pass y-scale factor
+bTwoPasses = true;
+}
+}
 
 // TODO Make sure the framebuffer is alright
 
@@ -251,13 +268,58 @@ bool OpenGLSalBitmap::ImplScaleArea( const 
rtl::Reference< OpenGLContext > 
 pProgram->DrawTexture( maTexture );
 pProgram->Clean();
 
-maTexture = aScratchTex;
-OpenGLContext::ReleaseFramebuffer( pFramebuffer );
-
-mnWidth = nNewWidth;
-mnHeight = nNewHeight;
+OpenGLContext::ReleaseFramebuffer(pFramebuffer);
 
 CHECK_GL_ERROR();
+
+if (bTwoPasses)
+{
+mnWidth = nNewWidth;
+mnHeight = nNewHeight;
+
+nNewWidth = int(mnWidth * rScaleX);
+nNewHeight = int (mnHeight * rScaleY);
+
+ixscale = 1 / rScaleX;
+iyscale = 1 / rScaleY;
+
+pProgram = xContext->UseProgram("textureVertexShader", 
OUString("areaScaleFragmentShader"));
+if (pProgram == nullptr)
+return false;
+
+OpenGLTexture aScratchTex2(nNewWidth, nNewHeight);
+
+pFramebuffer = xContext->AcquireFramebuffer(aScratchTex2);
+
+pProgram->SetUniform1f("xscale", ixscale);
+pProgram->SetUniform1f("yscale", iyscale);
+pProgram->SetUniform1i("swidth", mnWidth);
+pProgram->SetUniform1i("sheight", mnHeight);
+// For converting between <0,mnWidth-1> and <0.0,1.0> coordinate 
systems.
+pProgram->SetUniform1f("xsrcconvert", 1.0 / (mnWidth - 1));
+pProgram->SetUniform1f("ysrcconvert", 1.0 / (mnHeight - 1));
+pProgram->SetUniform1f("xdestconvert", 1.0 * (nNewWidth - 1));
+pProgram->SetUniform1f("ydestconvert", 1.0 * (nNewHeight - 1));
+
+pProgram->SetTexture("sampler", aScratchTex);
+pProgram->DrawTexture(aScratchTex);
+pProgram->Clean();
+
+OpenGLContext::ReleaseFramebuffer(pFramebuffer);
+
+CHECK_GL_ERROR();
+
+maTexture = aScratchTex2;
+mnWidth = nNewWidth;
+mnHeight = nNewHeight;
+}
+else
+{
+maTexture = aScratchTex;
+mnWidth = nNewWidth;
+mnHeight = nNewHeight;
+}
+
 return true;
 }
 
@@ -269,6 +331,11 @@ bool OpenGLSalBitmap::ImplScale( const double& rScaleX, 
const double& rScaleY, B
 OpenGLVCLContextZone aContextZone;
 rtl::Reference xContext = OpenGLContext::getVCLContext();
 
+if (rScaleX <= 1 && rScaleY <= 1)
+{
+nScaleFlag = BmpScaleFlag::BestQuality;
+}
+
 if( nScaleFlag == BmpScaleFlag::Fast )
 {
 return ImplScaleFilter( xContext, rScaleX, rScaleY, GL_NEAREST );

[Libreoffice-bugs] [Bug 94691] [META] OpenGL bugs

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=94691
Bug 94691 depends on bug 98709, which changed state.

Bug 98709 Summary: DirectWrite for OpenGL incorrect glyph positioning for SMP 
codepoint glyphs
https://bugs.documentfoundation.org/show_bug.cgi?id=98709

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98709] DirectWrite for OpenGL incorrect glyph positioning for SMP codepoint glyphs

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98709

V Stuart Foote  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #4 from V Stuart Foote  ---


*** This bug has been marked as a duplicate of bug 97319 ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-ux-advise] [Bug 93837] Allow customization of the Context Menus

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=93837

Maxim Monastirsky  changed:

   What|Removed |Added

 CC||mini...@poczta.onet.pl

--- Comment #46 from Maxim Monastirsky  ---
*** Bug 50837 has been marked as a duplicate of this bug. ***

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-bugs] [Bug 50837] Allow customization of context menus

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=50837

Maxim Monastirsky  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Maxim Monastirsky  ---


*** This bug has been marked as a duplicate of bug 93837 ***

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98710] Crash with "show preview of fonts" enabled for combobox list with new DirectWrite rendering

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98710

--- Comment #14 from V Stuart Foote  ---
Created attachment 123937
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123937=edit
clip of document with Symbola SMP glyphs with default rendering

So, on Windows 8.1 Ent 64-bit en-US with

Version: 5.2.0.0.alpha0+
Build ID: 6eb7cd38e348e8a9d6498bfc2d41e91725eb34aa
CPU Threads: 8; OS Version: Windows 6.29; UI Render: default; 
TinderBox: Win-x86@39, Branch:master, Time: 2016-03-16_12:53:35
Locale: en-US (en_US)

I was able to save a document with fonts embedded including Symbola. 
Unfortunately it ends up in its ODF archive at 12.0 MB, and looking at the
Fonts folder when unzipped Symbola is reasonable size of 2.19MB, and the usual
"default" fonts are all under 400KB. But there is one unidentified
"font"--listed at 18.2MB unpacked--9.5MB packed.

Deleteing it corrupts the document--and looking in the content.xml it appears
to actually be used, but the unzipped font does not open in a font viewer or
resolve by file format. Not sure what it is.

Unfortunately 12MB is just to big to post to the BZ. I'll have to PM you
(Michael M. and Marco C.) a link to a OneDrive share.

Attaching a clip of the document on Windows 8.1 with default rendering. OpenGL
rendering show the issue Tor was fighting with of mispositioning of the SMP
glyphs bug 97319 and bug 98709

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98970] New: Defining named expressions results in miscalculations and precedent issues

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98970

Bug ID: 98970
   Summary: Defining named expressions results in miscalculations
and precedent issues
   Product: LibreOffice
   Version: 5.1.1.3 release
  Hardware: x86-64 (AMD64)
OS: Mac OS X (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Calc
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: bradleyse...@gmail.com

Created attachment 123936
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123936=edit
named-expression-bugs.ods

I have a Calc spreadsheet where I can no longer define a name for a range
without incurring miscalculations across all sheets. Possibly related, I am
also having issues with column heading literals (unsure the correct jargon
here) used in formulas.

The testing steps below are concerning the attached ODS document (the names and
figures are bogus) and LibreOffice Calc 5.1.1.3 on OS X 10.10.5 Yosemite,
though the bug(s) are also present in 5.0.x. Upgrading to 5.1.x did not solve
these issues.

1. Open attached ODS document.

2. Select the sheet named Vitamins.

3. Notice the miscalculations for the two total columns. Recalculate does
nothing; one must re-enter the formula (click the Function '=' control twice)
to trigger a recalculation, which is typically lost between document close and
reopen.

4. Select the sheet named Salary. If the document was correctly interpreted on
open, the values in rows 5 and 6 will differ.

5. Select the sheet named Budget. Notice the #NAME? errors beginning at R27C6.
IncomeGrossP2 is in fact defined, but improperly as budget!R[24]C[17] instead
of Budget!R25C18 in the Manage Names dialog. References to this expression do
not function properly. No amount of editing or deleting and recreating this
expression seems to work.

6. (May need to close and reopen the document to trigger this step.) Select row
53 in its entirety by clicking its row number. In the Name Box, attempt to
define a new name by typing "NonTaxableIncome". The name will be defined
improperly similar to that in step #5, and will not function. Additionally,
data in the section "Income (P1)" will be incorrectly mapped, causing other
sections like "Taxes (P1)" to be incorrectly calculated as well; see step #7
for the cause.

7. Select the sheet named Salary. Notice that the data in rows 5 and 6 are
equivalent. Select R6C7 and perform Tools > Detective > Trace Precedents.
Notice that the selected cell pulls data from the wrong row.

8. Re-enter the formula for the cell by clicking the Function '=' control
twice. The correct value is calculated using the correct row data and the trace
now appears correct. Repeat this formula recalculation for all cells with
formulas in row 6. The sheet should now be correct again.

9. Select the sheet named Budget. Notice how step #8 fixed the calculations,
but any further attempts to fix the previous named expression issue on this
sheet will re-trigger the Salary sheet issue.

As you can see, this is an endless loop of one issue causing another, rendering
the document unusable in this state.

If any further information is needed, I will gladly assist. Cheers.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98969] Find forgotten closed bugs

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98969

Björn Michaelsen  changed:

   What|Removed |Added

   Keywords||difficultyBeginner,
   ||easyHack, skillScript
 Status|UNCONFIRMED |NEW
 CC||j...@documentfoundation.org
 Ever confirmed|0   |1

--- Comment #1 from Björn Michaelsen  ---
(cc'ing Jan, who might be interested in the results)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98969] New: Find forgotten closed bugs

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98969

Bug ID: 98969
   Summary: Find forgotten closed bugs
   Product: LibreOffice
   Version: unspecified
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: LibreOffice
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: bjoern.michael...@canonical.com

Here is a query looking for issues that contain a commit notification (the
words "committed a patch"), but are still unresolved and unchanged for more
than two weeks and are not an EasyHack:

https://bugs.documentfoundation.org/buglist.cgi?bug_status=UNCONFIRMED_status=NEW_status=ASSIGNED_status=REOPENED_status=RESOLVED_status=VERIFIED_status=CLOSED_status=NEEDINFO_status=PLEASETEST=-2w=easyHack%2C%20://bugs.documentfoundation.org/buglist.cgi?bug_status=UNCONFIRMED_status=NEW_status=ASSIGNED_status=REOPENED_status=RESOLVED_status=VERIFIED_status=CLOSED_status=NEEDINFO_status=PLEASETEST=-2w=easyHack%2C%20_type=nowords_id=601347=committed%20a%20patch_type=regexp=LibreOffice_format=advanced=---s_type=nowords_id=601347=committed%20a%20patch_type=regexp=LibreOffice_format=advanced=---

Its likely that a lot of those (currently 270 bugs) are actually resolved and
it was just forgotten to close them. This EasyHack is to create a script that:
- crawls the above bugs
- and outputs a list in the format:
  Bjoern Michaelsen: tdf#12345, tdf#12346 
  
  ...

The output of the script could then be used every 3 or 6 month in a cleanup of
forgotten bugs. Similar scripts can be found at:
https://gerrit.libreoffice.org/gitweb?p=dev-tools.git;a=tree;f=scripts

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 41063] Saving/Autosaving causes view to jump to cursor position

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=41063

--- Comment #32 from Zarko Zivanov  ---
I also consider this a bug, and I agree that (auto)saving shouldn't change
current view to current cursor position (if I want that, I can always press one
of the cursor keys). This disrupts working with documents when one just needs
to check other part of the document while working on the current one.

I can confirm that this happens in LO 5.1.1.2 (Ubuntu 64bit, LO from LO PPA).

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - sw/qa writerfilter/source

2016-03-29 Thread Miklos Vajna
 sw/qa/extras/ooxmlimport/data/tdf98882.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx|8 ++
 writerfilter/source/dmapper/StyleSheetTable.cxx |   72 +++-
 3 files changed, 53 insertions(+), 27 deletions(-)

New commits:
commit 490ce780fa876ec14055d95339933ea0081ce0e7
Author: Miklos Vajna 
Date:   Tue Mar 29 14:03:00 2016 +0200

tdf#98882 DOCX import: set default para properties on the Standard para 
style

That's what the DOC import does, and that's the reason e.g. the strange
unwanted crop of the as-char anchored picture doesn't happen there.

This also needs the "reset all existing style properties back to
default" logic to be adapted: the Standard style has to be reset before
the default are set, and later it should be left alone, otherwise the
defaults are lost.

(cherry picked from commit eae2331f83bd58bacccd898d60f6c5f54856c036)

Change-Id: Ie422a0b64b80a826fa4f469145a26283fb32d734
Reviewed-on: https://gerrit.libreoffice.org/23598
Tested-by: Jenkins 
Reviewed-by: Andras Timar 

diff --git a/sw/qa/extras/ooxmlimport/data/tdf98882.docx 
b/sw/qa/extras/ooxmlimport/data/tdf98882.docx
new file mode 100644
index 000..53c1098
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf98882.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index c280b54..a5b5cac 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -2909,6 +2909,14 @@ DECLARE_OOXMLIMPORT_TEST(testTdf95213, "tdf95213.docx")
 CPPUNIT_ASSERT_EQUAL(awt::FontWeight::NORMAL, getProperty(xStyle, 
"CharWeight"));
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf98882, "tdf98882.docx")
+{
+sal_Int32 nFlyHeight = parseDump("//fly/infos/bounds", "height").toInt32();
+sal_Int32 nContentHeight = parseDump("//notxt/infos/bounds", 
"height").toInt32();
+// The content height was 600, not 360, so the frame and the content 
height did not match.
+CPPUNIT_ASSERT_EQUAL(nFlyHeight, nContentHeight);
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx 
b/writerfilter/source/dmapper/StyleSheetTable.cxx
index f7e632d..017f114 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -304,6 +304,8 @@ struct StyleSheetTable_Impl
 
 /// Appends the given key-value pair to the list of latent style 
properties of the current entry.
 void AppendLatentStyleProperty(const OUString& aName, Value& rValue);
+/// Sets all properties of xStyle back to default.
+void SetPropertiesToDefault(const uno::Reference& xStyle);
 };
 
 
@@ -378,6 +380,35 @@ void StyleSheetTable_Impl::AppendLatentStyleProperty(const 
OUString& aName, Valu
 m_pCurrentEntry->aLatentStyles.push_back(aValue);
 }
 
+void StyleSheetTable_Impl::SetPropertiesToDefault(const 
uno::Reference& xStyle)
+{
+// See if the existing style has any non-default properties. If so, reset 
them back to default.
+uno::Reference xPropertySet(xStyle, uno::UNO_QUERY);
+uno::Reference xPropertySetInfo = 
xPropertySet->getPropertySetInfo();
+uno::Sequence aProperties = 
xPropertySetInfo->getProperties();
+std::vector aPropertyNames;
+for (sal_Int32 i = 0; i < aProperties.getLength(); ++i)
+{
+aPropertyNames.push_back(aProperties[i].Name);
+}
+
+uno::Reference xPropertyState(xStyle, 
uno::UNO_QUERY);
+uno::Sequence aStates = 
xPropertyState->getPropertyStates(comphelper::containerToSequence(aPropertyNames));
+for (sal_Int32 i = 0; i < aStates.getLength(); ++i)
+{
+if (aStates[i] == beans::PropertyState_DIRECT_VALUE)
+{
+try
+{
+xPropertyState->setPropertyToDefault(aPropertyNames[i]);
+}
+catch(const uno::Exception& rException)
+{
+SAL_INFO("writerfilter", "setPropertyToDefault(" << 
aPropertyNames[i] << ") failed: " << rException.Message);
+}
+}
+}
+}
 
 StyleSheetTable::StyleSheetTable(DomainMapper& rDMapper,
 uno::Reference< text::XTextDocument> const& xTextDocument,
@@ -961,32 +992,9 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr 
rFontTable )
 }
 xStyles->getByName( sConvertedStyleName ) >>= xStyle;
 
-// See if the existing style has any non-default 
properties. If so, reset them back to default.
-uno::Reference 
xPropertySet(xStyle, uno::UNO_QUERY);
-uno::Reference 
xPropertySetInfo = xPropertySet->getPropertySetInfo();
-uno::Sequence aProperties = 
xPropertySetInfo->getProperties();
-std::vector aPropertyNames;
-

[Libreoffice-commits] core.git: Branch 'libreoffice-5-1' - sw/qa writerfilter/source

2016-03-29 Thread Miklos Vajna
 sw/qa/extras/ooxmlimport/data/tdf98882.docx |binary
 sw/qa/extras/ooxmlimport/ooxmlimport.cxx|8 ++
 writerfilter/source/dmapper/StyleSheetTable.cxx |   72 +++-
 3 files changed, 53 insertions(+), 27 deletions(-)

New commits:
commit 226af96743f8ce5f00f34ee726a1218c2274e3a2
Author: Miklos Vajna 
Date:   Tue Mar 29 14:03:00 2016 +0200

tdf#98882 DOCX import: set default para properties on the Standard para 
style

That's what the DOC import does, and that's the reason e.g. the strange
unwanted crop of the as-char anchored picture doesn't happen there.

This also needs the "reset all existing style properties back to
default" logic to be adapted: the Standard style has to be reset before
the default are set, and later it should be left alone, otherwise the
defaults are lost.

Conflicts:
sw/qa/extras/ooxmlimport/ooxmlimport.cxx

(cherry picked from commit eae2331f83bd58bacccd898d60f6c5f54856c036)

Change-Id: Ie422a0b64b80a826fa4f469145a26283fb32d734
Reviewed-on: https://gerrit.libreoffice.org/23597
Tested-by: Jenkins 
Reviewed-by: Andras Timar 

diff --git a/sw/qa/extras/ooxmlimport/data/tdf98882.docx 
b/sw/qa/extras/ooxmlimport/data/tdf98882.docx
new file mode 100644
index 000..53c1098
Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/tdf98882.docx differ
diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx 
b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
index fec79d3..a634825 100644
--- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
+++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx
@@ -3079,6 +3079,14 @@ DECLARE_OOXMLIMPORT_TEST(testTdf97371, "tdf97371.docx")
 CPPUNIT_ASSERT(nDiff < 10);
 }
 
+DECLARE_OOXMLIMPORT_TEST(testTdf98882, "tdf98882.docx")
+{
+sal_Int32 nFlyHeight = parseDump("//fly/infos/bounds", "height").toInt32();
+sal_Int32 nContentHeight = parseDump("//notxt/infos/bounds", 
"height").toInt32();
+// The content height was 600, not 360, so the frame and the content 
height did not match.
+CPPUNIT_ASSERT_EQUAL(nFlyHeight, nContentHeight);
+}
+
 CPPUNIT_PLUGIN_IMPLEMENT();
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx 
b/writerfilter/source/dmapper/StyleSheetTable.cxx
index 8389e8b..4476b89 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -298,6 +298,8 @@ struct StyleSheetTable_Impl
 
 /// Appends the given key-value pair to the list of latent style 
properties of the current entry.
 void AppendLatentStyleProperty(const OUString& aName, Value& rValue);
+/// Sets all properties of xStyle back to default.
+void SetPropertiesToDefault(const uno::Reference& xStyle);
 };
 
 
@@ -372,6 +374,35 @@ void StyleSheetTable_Impl::AppendLatentStyleProperty(const 
OUString& aName, Valu
 m_pCurrentEntry->aLatentStyles.push_back(aValue);
 }
 
+void StyleSheetTable_Impl::SetPropertiesToDefault(const 
uno::Reference& xStyle)
+{
+// See if the existing style has any non-default properties. If so, reset 
them back to default.
+uno::Reference xPropertySet(xStyle, uno::UNO_QUERY);
+uno::Reference xPropertySetInfo = 
xPropertySet->getPropertySetInfo();
+uno::Sequence aProperties = 
xPropertySetInfo->getProperties();
+std::vector aPropertyNames;
+for (sal_Int32 i = 0; i < aProperties.getLength(); ++i)
+{
+aPropertyNames.push_back(aProperties[i].Name);
+}
+
+uno::Reference xPropertyState(xStyle, 
uno::UNO_QUERY);
+uno::Sequence aStates = 
xPropertyState->getPropertyStates(comphelper::containerToSequence(aPropertyNames));
+for (sal_Int32 i = 0; i < aStates.getLength(); ++i)
+{
+if (aStates[i] == beans::PropertyState_DIRECT_VALUE)
+{
+try
+{
+xPropertyState->setPropertyToDefault(aPropertyNames[i]);
+}
+catch(const uno::Exception& rException)
+{
+SAL_INFO("writerfilter", "setPropertyToDefault(" << 
aPropertyNames[i] << ") failed: " << rException.Message);
+}
+}
+}
+}
 
 StyleSheetTable::StyleSheetTable(DomainMapper& rDMapper,
 uno::Reference< text::XTextDocument> const& xTextDocument,
@@ -932,32 +963,9 @@ void StyleSheetTable::ApplyStyleSheets( FontTablePtr 
rFontTable )
 }
 xStyles->getByName( sConvertedStyleName ) >>= xStyle;
 
-// See if the existing style has any non-default 
properties. If so, reset them back to default.
-uno::Reference 
xPropertySet(xStyle, uno::UNO_QUERY);
-uno::Reference 
xPropertySetInfo = xPropertySet->getPropertySetInfo();
-uno::Sequence aProperties = 
xPropertySetInfo->getProperties();
-  

[Libreoffice-commits] core.git: sfx2/source

2016-03-29 Thread Julien Nabet
 sfx2/source/appl/newhelp.cxx |   73 +--
 1 file changed, 36 insertions(+), 37 deletions(-)

New commits:
commit 824139e28b3c9e0d448ee8abc580f06a4a434002
Author: Julien Nabet 
Date:   Tue Mar 29 22:17:01 2016 +0200

Replace some defines in sfx2/source/appl/newhelp.cxx

Change-Id: I82d13a71b59bd9cefc800f592d2b8312b70d1725
Reviewed-on: https://gerrit.libreoffice.org/23604
Tested-by: Jenkins 
Reviewed-by: Julien Nabet 

diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index 2ab9ab8..1fee0de 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -166,11 +166,6 @@ using namespace ::comphelper;
 #define KEY_HELP_ON_OPEN"ooSetupFactoryHelpOnOpen"
 #define KEY_UI_NAME "ooSetupFactoryUIName"
 
-#define PARSE_URL( aURL ) \
-Reference< util::XURLTransformer > xTrans( util::URLTransformer::create( 
::comphelper::getProcessComponentContext() ) ); \
-xTrans->parseStrict( aURL )
-
-
 namespace sfx2
 {
 
@@ -582,26 +577,6 @@ namespace sfx2 {
 typedef std::unordered_map< OUString, int, OUStringHash > KeywordInfo;
 }
 
-#define NEW_ENTRY( url, bool ) \
-new IndexEntry_Impl( url, bool )
-
-#define UNIFY_AND_INSERT_TOKEN( aToken )   
 \
-it = aInfo.insert( sfx2::KeywordInfo::value_type( aToken, 0 ) ).first; 
 \
-if ( ( tmp = it->second++ ) != 0 ) 
 \
-   nPos = m_pIndexCB->InsertEntry( aToken + OUString( append, tmp ) ); 
\
-else   
 \
-   nPos = m_pIndexCB->InsertEntry( aToken )
-
-#define INSERT_DATA( j )   
 \
-if ( aAnchorList[j].getLength() > 0 )  
 \
-{  
 \
-aData.append( aRefList[j] ).append( '#' ).append( aAnchorList[j] );
\
-m_pIndexCB->SetEntryData( nPos, NEW_ENTRY( aData.makeStringAndClear(), 
insert ) ); \
-}  
 \
-else   
 \
-m_pIndexCB->SetEntryData( nPos, NEW_ENTRY( aRefList[j], insert ) );
-
-
 void IndexTabPage_Impl::InitializeIndex()
 {
 WaitObject aWaitCursor( this );
@@ -667,14 +642,22 @@ void IndexTabPage_Impl::InitializeIndex()
 if ( aIndex != aTempString )
 {
 aIndex = aTempString;
-UNIFY_AND_INSERT_TOKEN( aTempString );
+it = 
aInfo.insert(sfx2::KeywordInfo::value_type(aTempString, 0)).first;
+if ( (tmp = it->second++) != 0)
+nPos = m_pIndexCB->InsertEntry(aTempString + 
OUString(append, tmp));
+else
+nPos = m_pIndexCB->InsertEntry(aTempString);
 }
 }
 else
 aIndex.clear();
 
 // Assume the token is trimmed
-UNIFY_AND_INSERT_TOKEN( aKeywordPair );
+it = 
aInfo.insert(sfx2::KeywordInfo::value_type(aKeywordPair, 0)).first;
+if ((tmp = it->second++) != 0)
+nPos = m_pIndexCB->InsertEntry(aKeywordPair + 
OUString(append, tmp));
+else
+nPos = m_pIndexCB->InsertEntry(aKeywordPair);
 
 sal_uInt32 nRefListLen = aRefList.getLength();
 
@@ -683,7 +666,13 @@ void IndexTabPage_Impl::InitializeIndex()
 
 if ( aAnchorList.getLength() && nRefListLen )
 {
-INSERT_DATA( 0 );
+if ( aAnchorList[0].getLength() > 0 )
+{
+aData.append( aRefList[0] ).append( '#' ).append( 
aAnchorList[0] );
+m_pIndexCB->SetEntryData( nPos, new 
IndexEntry_Impl( aData.makeStringAndClear(), insert ) );
+}
+else
+m_pIndexCB->SetEntryData( nPos, new 
IndexEntry_Impl( aRefList[0], insert ) );
 }
 
 for ( sal_uInt32 j = 1; j < nRefListLen ; ++j )
@@ -696,8 +685,19 @@ void IndexTabPage_Impl::InitializeIndex()
 .append( aTitleList[j] );
 
 aTempString = aData.makeStringAndClear();
- 

Help in solving a bug in TOC

2016-03-29 Thread Mohamed Thabet
Hello,

I'm working on this bug
https://bugs.documentfoundation.org/show_bug.cgi?id=44282

Currently I want to add a tab separator after the number in the table of
contents, but I can't get the correct tab stop position.

My goal is to mimic the behaviour of normal numbered lists, so how can I
determine the tab position?

Regards.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] core.git: vcl/null

2016-03-29 Thread Korrawit Pruegsanusak
 vcl/null/printerinfomanager.cxx |   15 ---
 1 file changed, 15 deletions(-)

New commits:
commit ce28ed09efd9ff831e502f079facef3d442f159a
Author: Korrawit Pruegsanusak 
Date:   Sat Mar 26 10:47:16 2016 +0700

Revert "vcl: fix Android build"

This reverts commit 8058189b53394fe335735cfd04f822f46b1a35b3 because
these functions are now removed by dea0abc58c558d3c62e806d06035b1a30420264e

Change-Id: I69b19319b645879edec04a47b16f78ab07fc9bcf
Reviewed-on: https://gerrit.libreoffice.org/23516
Tested-by: Jenkins 
Reviewed-by: Miklos Vajna 

diff --git a/vcl/null/printerinfomanager.cxx b/vcl/null/printerinfomanager.cxx
index e79701e..8be70af 100644
--- a/vcl/null/printerinfomanager.cxx
+++ b/vcl/null/printerinfomanager.cxx
@@ -131,19 +131,4 @@ void PrinterInfoManager::setDefaultPaper( PPDContext& /* 
rContext */ ) const
 
 }
 
-bool PrinterInfoManager::startBatchPrint()
-{
-return false;
-}
-
-bool PrinterInfoManager::flushBatchPrint()
-{
-return false;
-}
-
-bool PrinterInfoManager::supportsBatchPrint() const
-{
-return false;
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 74377] UI: Add keyboard shortcuts to context menus

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=74377

--- Comment #12 from Maxim Monastirsky  ---
(In reply to Yousuf (Jay) Philips from comment #10)
> On Windows and Linux KDE, LO's find toolbar field and the about dialog have
> context menus with shortcuts, while on Linux Gnome and OS X these controls
> dont.
Good finding. Turns out that we already have internal setting in vcl for that,
which is set to true for Windows/KDE/generic and false for OS X/gtk2-3. So we
need to honor it for other context menus too.

> So this functionality should be turned on (Windows) or off (Linux and Mac)
> automatically based on the OS default
For OS X it's clear that we shouldn't show shortcuts by default, as that's what
Apple recommends in its HIG [1] - although some apps ignore it - like Qt
Creator or Word.

But for Linux there are many apps that show shortcuts - see comment 4 (and I
can add Qt Creator and Nautilus 3.20 to that list, so I'm not sure what should
be the default there.

[1]
https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/OSXHIGuidelines/ContextualMenus.html

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

Joel Madero  changed:

   What|Removed |Added

   Priority|medium  |lowest
 CC||jmadero@gmail.com
   Severity|normal  |trivial

--- Comment #3 from Joel Madero  ---
Not going to affect high quality work. Lowering to trivial.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 97499] EasyHack: Clean up default arguments in uses of C++ unordered containers

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97499

--- Comment #5 from Marian Scerbak  ---
Looks like abandoned bug. Maybe I can pick it up, as a first task here. Do you
agree?


(In reply to jan iversen from comment #4)
> (In reply to Pratishta from comment #3)
> > Has this bug been fixed or can I try to work on this?
> 
> I suggest you look yourself to see if there are more places, I suspect there
> are.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

--- Comment #2 from Arnaud Versini  ---
Confirmed also by Jean-Philippe on Windows with nvda

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 74377] UI: Add keyboard shortcuts to context menus

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=74377

--- Comment #11 from steve -_-  ---
Well, Word on OS X has keyboard shortcuts when using the menubar. That's also
the case for the right-click menu.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

Jean-Philippe MENGUAL  changed:

   What|Removed |Added

 OS|Linux (All) |All

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

Arnaud Versini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|LibreOffice |UI
 Ever confirmed|0   |1

--- Comment #1 from Arnaud Versini  ---
Confirmed on LibreOffice 5.1.1 on openSUSE Tumbleweed.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

Jean-Philippe MENGUAL  changed:

   What|Removed |Added

   Keywords||accessibility
 CC||arnaud.versini@libreoffice.
   ||org

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98968] New: Ghost toolbar

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98968

Bug ID: 98968
   Summary: Ghost toolbar
   Product: LibreOffice
   Version: 5.0.0.5 release
  Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: LibreOffice
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: te...@accelibreinfo.eu

1. Open Writer
2. Press f6
3. Browse the toolbar with f6. After the standard buttons one, the focus goes
on a toolbar. It is blank, nothing appears.
4. Go on, it works
5. Go back: shift-f6. Now the ghost toolbar is skipped. Fine.

Regards,

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98967] Allow (again) fractions of a point for line spacing settings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98967

Joel Madero  changed:

   What|Removed |Added

Version|4.4.2.2 release |4.2.0.4 release

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98967] Allow (again) fractions of a point for line spacing settings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98967

Joel Madero  changed:

   What|Removed |Added

   Keywords||bibisectRequest, regression
 CC||jmadero@gmail.com,
   ||libreoffice-ux-advise@lists
   ||.freedesktop.org
  Component|Writer  |ux-advise
Version|5.0.4.2 release |4.4.2.2 release

--- Comment #1 from Joel Madero  ---
Updating version to 4.2 (earliest version) since that's what OP says is when
the issue hit

Also asking UX if this was done on purpose and thus this should be closed as
WONTFIX.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-ux-advise] [Bug 98967] Allow (again) fractions of a point for line spacing settings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98967

Joel Madero  changed:

   What|Removed |Added

Version|4.4.2.2 release |4.2.0.4 release

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-ux-advise] [Bug 98967] Allow (again) fractions of a point for line spacing settings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98967

Joel Madero  changed:

   What|Removed |Added

   Keywords||bibisectRequest, regression
 CC||jmadero@gmail.com,
   ||libreoffice-ux-advise@lists
   ||.freedesktop.org
  Component|Writer  |ux-advise
Version|5.0.4.2 release |4.4.2.2 release

--- Comment #1 from Joel Madero  ---
Updating version to 4.2 (earliest version) since that's what OP says is when
the issue hit

Also asking UX if this was done on purpose and thus this should be closed as
WONTFIX.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
___
Libreoffice-ux-advise mailing list
Libreoffice-ux-advise@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-ux-advise


[Libreoffice-bugs] [Bug 98732] Export sheet from calc to pdf creates weird characters

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98732

--- Comment #8 from tbu...@gmail.com ---
Created attachment 123935
  --> https://bugs.documentfoundation.org/attachment.cgi?id=123935=edit
The newest tst pdf file 20160329

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98732] Export sheet from calc to pdf creates weird characters

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98732

tbu...@gmail.com changed:

   What|Removed |Added

 Status|NEEDINFO|UNCONFIRMED
 Ever confirmed|1   |0

--- Comment #7 from tbu...@gmail.com ---
I have just upgraded to 5.1.1.3, but the problem is still there :(
I used Liberation Sans fonts this time.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: 2 commits - framework/source include/vcl

2016-03-29 Thread Michael Stahl
 framework/source/fwi/classes/propertysethelper.cxx |5 +
 include/vcl/svapp.hxx  |2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

New commits:
commit dc6106f989f814d2e5c21943484598d456d0044a
Author: Michael Stahl 
Date:   Tue Mar 29 21:50:10 2016 +0200

framework: cid#1357163 fix the fix d5e4fe23

The branch was never taken in the old code, and re-acquiring the mutex
without releasing it first is pointless.

Change-Id: Ic865dccf2c442d2625436e175aef91be59d05325

diff --git a/framework/source/fwi/classes/propertysethelper.cxx 
b/framework/source/fwi/classes/propertysethelper.cxx
index 1e2e120..6a42b67 100644
--- a/framework/source/fwi/classes/propertysethelper.cxx
+++ b/framework/source/fwi/classes/propertysethelper.cxx
@@ -151,7 +151,7 @@ void SAL_CALL PropertySetHelper::setPropertyValue(const 
OUString& sProperty,
 TransactionGuard aTransaction(m_rTransactionManager, E_HARDEXCEPTIONS);
 
 // SAFE ->
-SolarMutexResettableGuard aWriteLock;
+SolarMutexGuard g;
 
 PropertySetHelper::TPropInfoHash::const_iterator pIt = 
m_lProps.find(sProperty);
 if (pIt == m_lProps.end())
@@ -161,9 +161,6 @@ void SAL_CALL PropertySetHelper::setPropertyValue(const 
OUString& sProperty,
 
 css::uno::Any aCurrentValue = impl_getPropertyValue(aPropInfo.Name, 
aPropInfo.Handle);
 
-// SAFE ->
-aWriteLock.reset();
-
 bool bWillBeChanged = (aCurrentValue != aValue);
 if (! bWillBeChanged)
 return;
commit 973dc1ebe03b0f1f0b0e167d64bac8b42c6f241c
Author: Michael Stahl 
Date:   Tue Mar 29 21:49:15 2016 +0200

vcl: misleading copypasta in documentation

Change-Id: I673940fde7484500cbf30d4a4b760a8bf4448e33

diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx
index 608a1b9..c946b35 100644
--- a/include/vcl/svapp.hxx
+++ b/include/vcl/svapp.hxx
@@ -1555,7 +1555,7 @@ public:
 }
 }
 
-/** Releases mutex. */
+/** Re-acquires mutex. */
 void SAL_CALL reset()
 {
 if( m_bCleared)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 97905] Current style does not show up in Sidebar (until clicked) in KDE with integration from 5.1

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=97905

--- Comment #15 from sergio.calleg...@gmail.com ---
Unfortunately, this is true. Furthermore, KDE integration currently brings in
at least another bug, i.e. bug 78924

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98967] New: Allow (again) fractions of a point for line spacing settings

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98967

Bug ID: 98967
   Summary: Allow (again) fractions of a point for line spacing
settings
   Product: LibreOffice
   Version: 5.0.4.2 release
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Writer
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: rgb.m...@gmail.com

On recent LibO versions (since 4.2, it seems) when you set line spacing to
«fixed» you can only use integer point values. For example, if you try to
insert 14.4 pt Writer will round that value to 14 pt but if you insert 14.5,
the value will be rounded to 15 pt. 

On older LibO versions (4.1 and before, I think) it used to be possible to set
decimal values like 14.4 pt. 

Notice that AOO still allow the use if tenths of a point, so if someone creates
a document on AOO Writer (or pick an old LibO document) with line spacing set
to 14.5 pt and then open that document on a recent LibO Writer the line spacing
will be rounded to 15 pt giving a difference on line spacing between both
documents of more than 3%, which is _really_ noticeable.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98965] FILESAVE: Conversion from xls to xlsx fails due to weird character inside a cell

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98965

--- Comment #1 from freeseek  ---
I believe I have tracked down the issue more precisely.

It seems like the problem is that some strings in the problematic xls file are
ended with a vertical tab (\v or \x11 or ^K) rather than a line feed (\n or
\x10). The following commands:
# wget --user-agent=""
http://www.sciencedirect.com/science/MiamiMultiMediaURL/1-s2.0-S0140673614617050/1-s2.0-S0140673614617050-mmc2.xls/271074/html/S0140673614617050/8362fd82294e4f65e12123ba7f198387/mmc2.xls
# sed -i -e 's/Nephrotic syndrome, type 2 \v/Nephrotic syndrome, type 2 \n/g' \
  -e 's/Spinocerebellar ataxia 29, congenital nonprogressive\v/Spinocerebellar
ataxia 29, congenital nonprogressive\n/g' \
  -e 's/Congenital disorder of glycosylation, type IIk \v/Congenital disorder
of glycosylation, type IIk \n/g' \
  -e 's/Charcot-Marie-Tooth disease, type 4J \v/Charcot-Marie-Tooth disease,
type 4J \n/g' \
  -e 's/Diaphragmatic hernia 3 \v/Diaphragmatic hernia 3 \n/g' \
  -e 's/Tetralogy of Fallot \v/Tetralogy of Fallot \n/g' \
  -e 's/Phosphoserine aminotransferase deficiency\v/Phosphoserine
aminotransferase deficiency\n/g' \
  -e 's/Deafness, autosomal dominant 48 \v/Deafness, autosomal dominant 48
\n/g' \
  -e 's/Periventricular heterotopia with microcephaly\v/Periventricular
heterotopia with microcephaly\n/g' \
  -e 's/Epileptic encephalopathy, early infantile, 8 \v/Epileptic
encephalopathy, early infantile, 8 \n/g' \
  -e 's/Congenital disorder of glycosylation, type Is \v/Congenital disorder of
glycosylation, type Is \n/'g mmc2.xls
# localc --convert-to xlsx mmc2.xls

Do work fine and the file is properly converted. The sed commands replace the
offending vertical tabs with the appropriate line feeds. The issue remains that
localc is unable to process the vertical tabs during conversion to xlsx but it
is perfectly capable of processing the vertical tabs when opening the xls file
or when converting to html.

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-bugs] [Bug 98752] EDITING Render issue on text with Soft Returns in Paragraph

2016-03-29 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=98752

Kyle  changed:

   What|Removed |Added

 Status|NEEDINFO|UNCONFIRMED
 Ever confirmed|1   |0

--- Comment #6 from Kyle  ---
One of our work stations still has LibreOffice 3 installed.  The documents that
do *not* render correctly in Writer 5.x (Windows) render *correctly* on Writer
3.x (Windows).

To summarize what we have learned:
* The documents were created in LibreOffice Writer for Windows.
* The documents use standard Windows fonts like Times New Roman.
* The documents render correctly on Linux regardless of LibreOffice version.
* The documents render correctly on Windows with Writer 3.x and 4.x.
* The documents render *incorrectly* on Windows with Writer 5.x.

(I believe I have provided all requested data and answers, so I am changing the
status back to UNCONFIRMED.)

-- 
You are receiving this mail because:
You are the assignee for the bug.
___
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs


[Libreoffice-commits] core.git: config_host/config_features.h.in configure.ac

2016-03-29 Thread Michael Stahl
 config_host/config_features.h.in |6 +++---
 configure.ac |2 ++
 2 files changed, 5 insertions(+), 3 deletions(-)

New commits:
commit fb8d3a65c52de029135297b1aae2eb5c5bae8ffe
Author: Michael Stahl 
Date:   Tue Mar 29 21:35:58 2016 +0200

configure: put back lines erroneously deleted by 96c1ae1

Change-Id: I495d7508cab853717952735a2a0365a915165e51

diff --git a/config_host/config_features.h.in b/config_host/config_features.h.in
index 0aa1d67..0a38979 100644
--- a/config_host/config_features.h.in
+++ b/config_host/config_features.h.in
@@ -152,13 +152,13 @@
 #define HAVE_FEATURE_BREAKPAD 0
 
 /*
- *  * Whether to enable ATL
- *   */
+ * Whether to enable ATL
+ */
 #define HAVE_FEATURE_ATL 0
 
 /*
  *  Whether OpenGL is enabled
- *   */
+ */
 #define HAVE_FEATURE_OPENGL 0
 
 /*
diff --git a/configure.ac b/configure.ac
index 7a2ec3b..c1657a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3760,6 +3760,7 @@ if test "$_os" = "WINNT" -a "$WITH_MINGW" != yes; then
 AC_MSG_CHECKING([whether to use ATL])
 if test "$enable_atl" = "yes" -o "$enable_atl" = "" -a "$vcexpress" != 
Express; then
 DISABLE_ATL=""
+AC_DEFINE(HAVE_FEATURE_ATL, 1)
 AC_MSG_RESULT([yes])
 else
 DISABLE_ATL="TRUE"
@@ -10436,6 +10437,7 @@ elif test $_os = WINNT; then
 ENABLE_OPENGL_CANVAS=TRUE
 else
 if test "$USING_X11" = TRUE; then
+AC_CHECK_LIB(GL, glBegin, [:], AC_MSG_ERROR([libGL required.]))
 ENABLE_OPENGL=TRUE
 AC_DEFINE(HAVE_FEATURE_OPENGL,1)
 ENABLE_OPENGL_CANVAS=TRUE
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


  1   2   3   4   >