[Libreoffice-bugs] [Bug 105281] Screen of the Display Options

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105281

Samuel Mehrbrodt (CIB)  changed:

   What|Removed |Added

 CC||qui...@gmail.com

--- Comment #3 from Samuel Mehrbrodt (CIB)  ---
Maybe something like:

*Icon Size*
  Sidebar:
  Notebookbar:
  Toolbar:

*Icon Style*
  Theme


Although the dialog should expand itself if the widgets don't fit. Tomaž did
something similiar for the Area style dialog.

-- 
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 105281] Screen of the Display Options

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105281

Samuel Mehrbrodt (CIB)  changed:

   What|Removed |Added

 CC||qui...@gmail.com

--- Comment #3 from Samuel Mehrbrodt (CIB)  ---
Maybe something like:

*Icon Size*
  Sidebar:
  Notebookbar:
  Toolbar:

*Icon Style*
  Theme


Although the dialog should expand itself if the widgets don't fit. Tomaž did
something similiar for the Area style dialog.

-- 
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 75471] Newly opened LibO document frames stay in background ( i. e. LibO does not get focus)

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=75471

--- Comment #50 from Samuel Mehrbrodt (CIB)  ---
Btw you can also apply the fix by going to Tools->Options->Advanced->Expert
Configuration.
Search for 'ForceFocusAndToFront' and double click to change it to 'true'.

This should work in all affected versions.

-- 
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 105358] New: Missing System Installed Fonts - Visible in 4.2 but missing in 5.2

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105358

Bug ID: 105358
   Summary: Missing System Installed Fonts - Visible in 4.2 but
missing in 5.2
   Product: LibreOffice
   Version: 5.2.4.2 release
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: LibreOffice
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: james.perreau...@gmail.com

Description:
I thought I had an issue with Ubuntu, but it now appears to be an issue with
LibreOffice 5.2. 

I have installed several additional fonts into my operating system.  My OS also
has two different versions of Libreoffice installed.  LibreOffice 4.2 and
LibreOffice 5.2. When I open an application (impress/write/calc) in version
4.2, I have access to all the system installed fonts.  When I use office 5.2;
some of the system installed fonts are missing or are inaccessable.  

I have tried this on Ubuntu 16.04 and Ubuntu 14.04.  Same results regardless of
which linux distro I'm running.  Ubuntu 16.04 has a known issues with
installing new fonts.  This issue doesn't occur on Ubuntu 14.04 which is why I
decided to go back to an older version of the operating system.   

After a fresh install of Ubuntu 14.04 ,  I installed the additional fonts
required to meet my companies document guidelines.  The fonts installed with
out an issue.  I then created a test document with Impress 4.2  Everything
worked as expected, my newly installed fonts were accessible in my document. 
Because the new documents were created in Libreoffice 5.2, and my current
installed version of Libreoffice was 4.2,  I had upgraded to Libreoffice 5.2 to
maintain compatibility with my newer work.  Ubuntu 14.04 includes Libreoffice
Office 4.2.  Ubuntu 16.04 includes Libreoffice 5.0. both verions of office are
32 Bit x86. 

Since Ubuntu 14.04 LTS included the older office I downloaded the 32bit DEB
version of LibreOffice 5.2 and re-tested.  What I found was that system
installed fonts that worked under version 4.2 are missing in LibreOffice 5.2.

In addition, documents created under Libreoffice 4.2 when opened in Office 5.2
would automatically reformat.  This could be due to the fonts being substituted
as Office thinks they're missing, but this is only speculation at this point.

At this point all computer had clean loads both times.  Same fonts loaded. 
Libreoffice 4.2 works flawlessly.  When installing Libreoffice 5.2,  (both
versions present on the same PC) When creating the same simple document, 
Libreoffice is unable to access all the available installed system fonts.  I
don't know why or even how to make office 5.2 refresh the font cache. 

Any suggestions would be appreciated.

James Perreault, 
A+, Certified Electronics Technician, Dip'l T.
james.perreau...@gmail.com  

Steps to Reproduce:
1.Clean OS Load - Wipe and install
2.Install New Fonts - Accessible from other applications.
3.Created the same document in Office 4.2 and 5.2 - 4.2 works as expected. 5.2
is missing fonts

Actual Results:  
LibreOffice 4.2 Ubuntu 14.04 32 Bit x86. All Fonts are available
Libreoffice 5.2 Ubuntu 15.04 32 Bit x86. Select fonts are available
Specifically installed Heletica Neue ULTRA light - Can be seen in 4.2.  When a
document is created in 5.2  can only access Helvetica Neue.  Ultra light (in
the system) can not be accessed. 

Expected Results:
Should be able to access all system installed fonts regardless of what version
is used.


Reproducible: Always

User Profile Reset: Clean load for both.  No customization was used.  Default
settings

Additional Info:
not applicable


User-Agent: Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/48.0.2564.109 Safari/537.36

-- 
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 104803] column filter loses header row when editing and cannot be returned to all data

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=104803

--- Comment #9 from steve -_-  ---
@Steve, no need to give up just yet. The wiki has been revamped since and it
should be much easier to follow the steps and find your user profile if needed:
https://wiki.documentfoundation.org/UserProfile#Resolving_corruption

Let us know if you where able to reset your user profile and see if that
changes anything.

-- 
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: basic/source

2017-01-15 Thread Noel Grandin
 basic/source/comp/buffer.cxx   |   17 +++--
 basic/source/comp/token.cxx|3 +--
 basic/source/inc/buffer.hxx|3 ++-
 basic/source/inc/iosys.hxx |4 ++--
 basic/source/inc/token.hxx |2 +-
 basic/source/runtime/iosys.cxx |   15 ++-
 6 files changed, 19 insertions(+), 25 deletions(-)

New commits:
commit ad694ef65a54746bc8c916c5de6dc483f7a8
Author: Noel Grandin 
Date:   Mon Jan 16 08:49:29 2017 +0200

new loplugin: useuniqueptr: basic

Change-Id: I5a9806e8dd79431f14d6861c8f4d65f828398f07
Reviewed-on: https://gerrit.libreoffice.org/33145
Tested-by: Jenkins 
Reviewed-by: Noel Grandin 

diff --git a/basic/source/comp/buffer.cxx b/basic/source/comp/buffer.cxx
index 7d95705..9c1e216 100644
--- a/basic/source/comp/buffer.cxx
+++ b/basic/source/comp/buffer.cxx
@@ -40,7 +40,6 @@ SbiBuffer::SbiBuffer( SbiParser* p, short n )
 
 SbiBuffer::~SbiBuffer()
 {
-delete[] pBuf;
 }
 
 // Reach out the buffer
@@ -48,8 +47,7 @@ SbiBuffer::~SbiBuffer()
 
 char* SbiBuffer::GetBuffer()
 {
-char* p = pBuf;
-pBuf = nullptr;
+char* p = pBuf.release();
 pCur = nullptr;
 return p;
 }
@@ -88,15 +86,14 @@ bool SbiBuffer::Check( sal_Int32 n )
 {
 pParser->Error( ERRCODE_BASIC_PROG_TOO_LARGE );
 nInc = 0;
-delete[] pBuf; pBuf = nullptr;
+pBuf.reset();
 return false;
 }
 else
 {
-if( nSize ) memcpy( p, pBuf, nSize );
-delete[] pBuf;
-pBuf = p;
-pCur = pBuf + nOff;
+if( nSize ) memcpy( p, pBuf.get(), nSize );
+pBuf.reset(p);
+pCur = pBuf.get() + nOff;
 nSize = nSize + nn;
 }
 }
@@ -111,7 +108,7 @@ void SbiBuffer::Patch( sal_uInt32 off, sal_uInt32 val )
 {
 sal_uInt16 val1 = static_cast( val & 0x );
 sal_uInt16 val2 = static_cast( val >> 16 );
-sal_uInt8* p = reinterpret_cast(pBuf) + off;
+sal_uInt8* p = reinterpret_cast(pBuf.get()) + off;
 *p++ = (char) ( val1 & 0xFF );
 *p++ = (char) ( val1 >> 8 );
 *p++ = (char) ( val2 & 0xFF );
@@ -133,7 +130,7 @@ void SbiBuffer::Chain( sal_uInt32 off )
 sal_uInt32 val2 = (nOff >> 16);
 do
 {
-ip = reinterpret_cast(pBuf) + i;
+ip = reinterpret_cast(pBuf.get()) + i;
 sal_uInt8* pTmp = ip;
  i =  *pTmp++; i |= *pTmp++ << 8; i |= *pTmp++ << 16; i |= 
*pTmp++ << 24;
 
diff --git a/basic/source/comp/token.cxx b/basic/source/comp/token.cxx
index f779fc1..40397d3 100644
--- a/basic/source/comp/token.cxx
+++ b/basic/source/comp/token.cxx
@@ -185,7 +185,7 @@ static const TokenTable aTokTable_Basic [] = {
 // #i109076
 TokenLabelInfo::TokenLabelInfo()
 {
-m_pTokenCanBeLabelTab = new bool[VBASUPPORT+1];
+m_pTokenCanBeLabelTab.reset( new bool[VBASUPPORT+1] );
 for( int i = 0 ; i <= VBASUPPORT ; ++i )
 {
 m_pTokenCanBeLabelTab[i] = false;
@@ -203,7 +203,6 @@ TokenLabelInfo::TokenLabelInfo()
 
 TokenLabelInfo::~TokenLabelInfo()
 {
-delete[] m_pTokenCanBeLabelTab;
 }
 
 
diff --git a/basic/source/inc/buffer.hxx b/basic/source/inc/buffer.hxx
index 3b1b5a8..525a193 100644
--- a/basic/source/inc/buffer.hxx
+++ b/basic/source/inc/buffer.hxx
@@ -21,12 +21,13 @@
 #define INCLUDED_BASIC_SOURCE_INC_BUFFER_HXX
 
 #include 
+#include 
 
 class SbiParser;
 
 class SbiBuffer {
 SbiParser* pParser; // for error messages
-char*   pBuf;
+std::unique_ptr  pBuf;
 char*   pCur;
 sal_uInt32  nOff;
 sal_uInt32  nSize;
diff --git a/basic/source/inc/iosys.hxx b/basic/source/inc/iosys.hxx
index 151bdf1..9deb4bd 100644
--- a/basic/source/inc/iosys.hxx
+++ b/basic/source/inc/iosys.hxx
@@ -47,7 +47,7 @@ namespace o3tl
 
 class SbiStream
 {
-SvStream* pStrm;
+std::unique_ptr pStrm;
 sal_uInt64  nExpandOnWriteTo;  // during writing access expand the stream 
to this size
 OString aLine;
 sal_uInt64  nLine;
@@ -76,7 +76,7 @@ public:
 sal_uInt64 GetLine() const{ return nLine;  }
 void SetExpandOnWriteTo( sal_uInt64 n ) { nExpandOnWriteTo = n;}
 void ExpandFile();
-SvStream* GetStrm(){ return pStrm;  }
+SvStream* GetStrm(){ return pStrm.get();}
 };
 
 class SbiIoSystem
diff --git a/basic/source/inc/token.hxx b/basic/source/inc/token.hxx
index e3b3a8a..43f535b 100644
--- a/basic/source/inc/token.hxx
+++ b/basic/source/inc/token.hxx
@@ -117,7 +117,7 @@ enum SbiToken {
 // #i109076
 class TokenLabelInfo
 {
-bool* m_pTokenCanBeLabelTab;
+std::unique_ptr m_pTokenCanBeLabelTab;
 
 public:
 TokenLabelInfo();
diff --git a/basic/source/runtime/iosys.cxx b/basic/source/runtime/iosys.cxx
index 

[Libreoffice-bugs] [Bug 105354] LOCALHELP: Create documentation for Macro Selector window

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105354

--- Comment #1 from Commit Notification 
 ---
Gabor Kelemen committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/help/commit/?id=e8625126b630646ca0f490e1f21ef97015bce2a3

tdf#105354 Do not link Macro Selector window to wrong page

-- 
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 105354] LOCALHELP: Create documentation for Macro Selector window

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105354

Commit Notification  changed:

   What|Removed |Added

 Whiteboard||target:5.4.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-commits] help.git: source/text

2017-01-15 Thread Gabor Kelemen
 source/text/swriter/01/05060700.xhp |   25 ++---
 1 file changed, 14 insertions(+), 11 deletions(-)

New commits:
commit 6d47ddb5ee88c192a4fa3343b1cccf4044c54e2c
Author: Gabor Kelemen 
Date:   Sun Jan 15 23:59:35 2017 +0100

Fix Macro assignment page of frames, images and OLE objects

Fixes bookmarks, ahelps and UI element names

Change-Id: I8441005c2bf181af314d3e80b4d926fa9caf923e
Reviewed-on: https://gerrit.libreoffice.org/33109
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 

diff --git a/source/text/swriter/01/05060700.xhp 
b/source/text/swriter/01/05060700.xhp
index e1de5c3..e9921c3 100644
--- a/source/text/swriter/01/05060700.xhp
+++ b/source/text/swriter/01/05060700.xhp
@@ -31,15 +31,16 @@
 
 
 
+
 Macro
 Specifies the 
macro to run when you click a graphic, frame, or an OLE 
object.
 
 
   
 
-
+
 Event
-Lists the events 
that can trigger a macro. Only the events that are relevant to the 
selected object are listed.
+Lists the events 
that can trigger a macro. Only the events that are relevant to the 
selected object are listed.
 The following table lists the object types and the events that can 
trigger a macro:
 
 
@@ -357,19 +358,21 @@
 
 
 For events that are linked to controls in forms, see Control 
properties or Form properties.
+Assigned Action
+Specify the macro that executes when the selected event 
occurs.
+Frames allow you to link certain events to a function that then 
decides if the event is handled by $[officename] Writer or by the function. See 
the $[officename] Basic Help for more information.
 
-Macros
-Specify the macro that executes when the selected 
event occurs.
-Frames allow you to link certain events to a function that then 
decides if the event is handled by $[officename] Writer or by the function. See 
the $[officename] Basic Help for more 
information.???
-Category
-Lists the 
$[officename] program and any open $[officename] document. Within this 
list, select the location where you want to save the macros.
+Macro From
+Lists the 
$[officename] program and any open $[officename] document. Within this 
list, select the location where you want to save the macros.
 
-Macro name
-Lists the 
available macros. Select the macro that you want to assign to the selected 
event, and then click Assign.
+Existing Macros
+Lists the available 
macros. Select the macro that you want to assign to the selected event, and 
then click Assign.
+
 Assign
-Assigns the 
selected macro to the selected event.
+Assigns the selected 
macro to the selected event.
+
 Remove
-Removes the macro 
assignment from the selected entry.
+Removes the macro assignment from the 
selected entry.
 
 
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: helpcontent2

2017-01-15 Thread Gabor Kelemen
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 65429653eb7a07eca7be9a14b2dcb2717623d17b
Author: Gabor Kelemen 
Date:   Sun Jan 15 17:04:33 2017 +0100

Updated core
Project: help  c5f15a5212c3b3da85229045ba24354c1f42726b

Typo: 'theList Box Wizard'

Change-Id: I664271ec7cf1de150c13bf32e1c37b91f2f297a9
Reviewed-on: https://gerrit.libreoffice.org/33105
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/helpcontent2 b/helpcontent2
index d384c40..c5f15a5 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit d384c401e5630c617ac55e4f4b6e7142cc225e1c
+Subproject commit c5f15a5212c3b3da85229045ba24354c1f42726b
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - helpcontent2

2017-01-15 Thread Gabor Kelemen
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit eea337faafeae05bc1dd40e38e327202cebbc3f2
Author: Gabor Kelemen 
Date:   Sun Jan 15 23:59:35 2017 +0100

Updated core
Project: help  6d47ddb5ee88c192a4fa3343b1cccf4044c54e2c

Fix Macro assignment page of frames, images and OLE objects

Fixes bookmarks, ahelps and UI element names

Change-Id: I8441005c2bf181af314d3e80b4d926fa9caf923e
Reviewed-on: https://gerrit.libreoffice.org/33109
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 

diff --git a/helpcontent2 b/helpcontent2
index e862512..6d47ddb 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit e8625126b630646ca0f490e1f21ef97015bce2a3
+Subproject commit 6d47ddb5ee88c192a4fa3343b1cccf4044c54e2c
commit cf89e28353fb546061849e21f8b155767fee96d6
Author: Gabor Kelemen 
Date:   Sun Jan 15 22:45:23 2017 +0100

Updated core
Project: help  e8625126b630646ca0f490e1f21ef97015bce2a3

tdf#105354 Do not link Macro Selector window to wrong page

With this part dropped (it doesn't make any sense)
the Macro Selector windows Help button does not display
the Customize - Menu tabs help page anymore

Change-Id: I2b74d4e920ee0e6b2172842406e29bbbecc329e5
Reviewed-on: https://gerrit.libreoffice.org/33106
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 

diff --git a/helpcontent2 b/helpcontent2
index c5f15a5..e862512 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit c5f15a5212c3b3da85229045ba24354c1f42726b
+Subproject commit e8625126b630646ca0f490e1f21ef97015bce2a3
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] help.git: 2 commits - source/text

2017-01-15 Thread Gabor Kelemen
 source/text/shared/01/06140100.xhp |5 -
 source/text/shared/02/0117.xhp |2 +-
 2 files changed, 1 insertion(+), 6 deletions(-)

New commits:
commit e8625126b630646ca0f490e1f21ef97015bce2a3
Author: Gabor Kelemen 
Date:   Sun Jan 15 22:45:23 2017 +0100

tdf#105354 Do not link Macro Selector window to wrong page

With this part dropped (it doesn't make any sense)
the Macro Selector windows Help button does not display
the Customize - Menu tabs help page anymore

Change-Id: I2b74d4e920ee0e6b2172842406e29bbbecc329e5
Reviewed-on: https://gerrit.libreoffice.org/33106
Reviewed-by: Gabor Kelemen 
Tested-by: Gabor Kelemen 

diff --git a/source/text/shared/01/06140100.xhp 
b/source/text/shared/01/06140100.xhp
index 3ef25cb..5a4b5c3 100644
--- a/source/text/shared/01/06140100.xhp
+++ b/source/text/shared/01/06140100.xhp
@@ -114,11 +114,6 @@
 Add Commands
 Opens the Add Commands dialog. Select any command, 
then click Add or drag-and-drop the command into the 
Customize dialog box.
 
-
-
-Select any command, then click 
Add or drag-and-drop the command into the Customize 
dialog box.
-
-
 Command
 Opens a menu that contains 
additional commands.
 Add Submenu
commit c5f15a5212c3b3da85229045ba24354c1f42726b
Author: Gabor Kelemen 
Date:   Sun Jan 15 17:04:33 2017 +0100

Typo: 'theList Box Wizard'

Change-Id: I664271ec7cf1de150c13bf32e1c37b91f2f297a9
Reviewed-on: https://gerrit.libreoffice.org/33105
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/source/text/shared/02/0117.xhp 
b/source/text/shared/02/0117.xhp
index 0782354..6380137 100644
--- a/source/text/shared/02/0117.xhp
+++ b/source/text/shared/02/0117.xhp
@@ -219,7 +219,7 @@

 
 
-Creates a list box. A list box 
lets users select an entry from a list. If the form is linked to a database and 
the database connection is active, theList Box Wizard will automatically 
appear after the list box is inserted in the document. This wizard helps you 
create the list box.
+Creates a list box. A list box 
lets users select an entry from a list. If the form is linked to a database and 
the database connection is active, the List Box Wizard will automatically 
appear after the list box is inserted in the document. This wizard helps you 
create the list box.
 
 
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 105260] Serious performance issues with Online

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105260

--- Comment #1 from steve -_-  ---
How can this be reproduced? Or o we just set this to NEW since it is coming
from a known dev?

-- 
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: accessibility/inc accessibility/source

2017-01-15 Thread Noel Grandin
 accessibility/inc/standard/vclxaccessiblelist.hxx|4 ++--
 accessibility/source/standard/vclxaccessiblelist.cxx |8 +++-
 2 files changed, 5 insertions(+), 7 deletions(-)

New commits:
commit 7a507b578910674eeab3062d3dbf893e2d54e9de
Author: Noel Grandin 
Date:   Mon Jan 16 08:49:16 2017 +0200

new loplugin: useuniqueptr: accessibility

Change-Id: I0994bfcae23a2714c78e16c9baa7e0a018d46513
Reviewed-on: https://gerrit.libreoffice.org/33144
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/accessibility/inc/standard/vclxaccessiblelist.hxx 
b/accessibility/inc/standard/vclxaccessiblelist.hxx
index a8aa753..cd79888 100644
--- a/accessibility/inc/standard/vclxaccessiblelist.hxx
+++ b/accessibility/inc/standard/vclxaccessiblelist.hxx
@@ -135,10 +135,10 @@ public:
 
 void UpdateFocus_Impl_Acc ( sal_Int32 nPos, bool b_IsDropDownList) ;
 static void NotifyListItem(css::uno::Any& val);
-::accessibility::IComboListBoxHelper* getListBoxHelper() { return 
m_pListBoxHelper; }
+::accessibility::IComboListBoxHelper* getListBoxHelper() { return 
m_pListBoxHelper.get(); }
 protected:
 BoxType m_aBoxType;
-::accessibility::IComboListBoxHelper* m_pListBoxHelper;
+std::unique_ptr<::accessibility::IComboListBoxHelper> m_pListBoxHelper;
 ListItems   m_aAccessibleChildren;
 sal_Int32   m_nVisibleLineCount;
 /// Index in parent.  This is settable from the outside.
diff --git a/accessibility/source/standard/vclxaccessiblelist.cxx 
b/accessibility/source/standard/vclxaccessiblelist.cxx
index e369ea3..d0f87d3 100644
--- a/accessibility/source/standard/vclxaccessiblelist.cxx
+++ b/accessibility/source/standard/vclxaccessiblelist.cxx
@@ -74,7 +74,7 @@ VCLXAccessibleList::VCLXAccessibleList (VCLXWindow* 
pVCLWindow, BoxType aBoxType
 {
 VclPtr< ComboBox > pBox = GetAs< ComboBox >();
 if ( pBox )
-m_pListBoxHelper = new VCLListBoxHelper (*pBox);
+m_pListBoxHelper.reset( new VCLListBoxHelper (*pBox) 
);
 break;
 }
 
@@ -82,7 +82,7 @@ VCLXAccessibleList::VCLXAccessibleList (VCLXWindow* 
pVCLWindow, BoxType aBoxType
 {
 VclPtr< ListBox > pBox = GetAs< ListBox >();
 if ( pBox )
-m_pListBoxHelper = new VCLListBoxHelper (*pBox);
+m_pListBoxHelper.reset( new VCLListBoxHelper (*pBox) 
);
 break;
 }
 }
@@ -98,7 +98,6 @@ VCLXAccessibleList::VCLXAccessibleList (VCLXWindow* 
pVCLWindow, BoxType aBoxType
 
 VCLXAccessibleList::~VCLXAccessibleList()
 {
-delete m_pListBoxHelper;
 }
 
 
@@ -115,8 +114,7 @@ void SAL_CALL VCLXAccessibleList::disposing()
 // Dispose all items in the list.
 clearItems();
 
-delete m_pListBoxHelper;
-m_pListBoxHelper = nullptr;
+m_pListBoxHelper.reset();
 }
 
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-ux-advise] [Bug 90794] Fix the Linux HiDPI start screen

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=90794

jan iversen  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from jan iversen  ---
Seems solved

-- 
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 90796] [META] HiDPI / Retina bugs

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=90796
Bug 90796 depends on bug 90794, which changed state.

Bug 90794 Summary: Fix the Linux HiDPI start screen
https://bugs.documentfoundation.org/show_bug.cgi?id=90794

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

-- 
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 103677] Installer image has low colour for today's standards

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=103677

jan iversen  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

-- 
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 103391] Show dialog when no local help is installed

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=103391

jan iversen  changed:

   What|Removed |Added

 CC||libreoffice-ux-advise@lists
   ||.freedesktop.org

-- 
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 105303] Drop html export wizard

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105303

--- Comment #3 from jan iversen  ---
(In reply to Heiko Tietze from comment #0)
> Draw/Impress has File > Export > Html which leads to the ancient wizard with
> some limitations (bug 66259). The design team recommends to drop this wizard
> (similar to what is in progress for Writer in bug 99967) and make the html
> export like any other export function, i.e. one (successively numbered)
> document per slide with images in the original size and no cropping. Notes
> and comments are not exported. Everything else from the wizard is obsolete.
> It was also recommended to clean up the filters (export, save behave
> differently).
> 
> This ticket could be an easyhack. Another, more general issue about what
> slides to export requires a dialog which goes into another ticket.
> 
> It's suggested to use svg for users who want to show a presentation in the
> browser.
> 
> (In reply to jan iversen from comment #8)
> > Please add skill difficulty
> > 
> > as well as a code pointer.
Huh ? there are no comment #8 on this bug ?

I am not sure what the scope is here, you talk about different things:
a) drop this wizard (easy, remove the menu entry)
b) make the html export like any other export function (surely not a easyhack)
c) clean up the filters (does not sound like a easyhack)

please be specific, what is to be done in this easyhack.

-- 
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 105303] Drop html export wizard

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105303

--- Comment #3 from jan iversen  ---
(In reply to Heiko Tietze from comment #0)
> Draw/Impress has File > Export > Html which leads to the ancient wizard with
> some limitations (bug 66259). The design team recommends to drop this wizard
> (similar to what is in progress for Writer in bug 99967) and make the html
> export like any other export function, i.e. one (successively numbered)
> document per slide with images in the original size and no cropping. Notes
> and comments are not exported. Everything else from the wizard is obsolete.
> It was also recommended to clean up the filters (export, save behave
> differently).
> 
> This ticket could be an easyhack. Another, more general issue about what
> slides to export requires a dialog which goes into another ticket.
> 
> It's suggested to use svg for users who want to show a presentation in the
> browser.
> 
> (In reply to jan iversen from comment #8)
> > Please add skill difficulty
> > 
> > as well as a code pointer.
Huh ? there are no comment #8 on this bug ?

I am not sure what the scope is here, you talk about different things:
a) drop this wizard (easy, remove the menu entry)
b) make the html export like any other export function (surely not a easyhack)
c) clean up the filters (does not sound like a easyhack)

please be specific, what is to be done in this easyhack.

-- 
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 104520] [META] DOCX (OOXML) bug tracker

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=104520
Bug 104520 depends on bug 104349, which changed state.

Bug 104349 Summary: FORMATTING: Text highlight color which differs from MS 
Office.
https://bugs.documentfoundation.org/show_bug.cgi?id=104349

   What|Removed |Added

 Status|RESOLVED|NEW
 Resolution|FIXED   |---

-- 
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: helpcontent2

2017-01-15 Thread Gabor Kelemen
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 5de98da7e01b08f59b6f26daa82f3090bd6a4f42
Author: Gabor Kelemen 
Date:   Sun Jan 15 23:06:22 2017 +0100

Updated core
Project: help  d384c401e5630c617ac55e4f4b6e7142cc225e1c

Typofixes: spaces missing after 

Change-Id: I2344e3f845f83aac65eb0ebe53b1c1f2064f4022
Reviewed-on: https://gerrit.libreoffice.org/33108
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/helpcontent2 b/helpcontent2
index ba55e4f..d384c40 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit ba55e4f84d78748ea2f532515220e3860374a2b7
+Subproject commit d384c401e5630c617ac55e4f4b6e7142cc225e1c
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] help.git: source/text

2017-01-15 Thread Gabor Kelemen
 source/text/scalc/01/04060109.xhp  |2 +-
 source/text/shared/01/0113.xhp |2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

New commits:
commit d384c401e5630c617ac55e4f4b6e7142cc225e1c
Author: Gabor Kelemen 
Date:   Sun Jan 15 23:06:22 2017 +0100

Typofixes: spaces missing after 

Change-Id: I2344e3f845f83aac65eb0ebe53b1c1f2064f4022
Reviewed-on: https://gerrit.libreoffice.org/33108
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/source/text/scalc/01/04060109.xhp 
b/source/text/scalc/01/04060109.xhp
index 109fbb4..2006c2d 100644
--- a/source/text/scalc/01/04060109.xhp
+++ b/source/text/scalc/01/04060109.xhp
@@ -107,7 +107,7 @@
 oldref="30">Syntax
  DDE("Server"; "File"; "Range"; Mode)
  
-Server is the name of a server application. %PRODUCTNAMEapplications have the server name 
"soffice".
+Server is the name of a server application. %PRODUCTNAME applications have the server name 
"soffice".
  
 File is the complete file name, including path 
specification.
  
diff --git a/source/text/shared/01/0113.xhp 
b/source/text/shared/01/0113.xhp
index 6d52f73..937ad7b 100644
--- a/source/text/shared/01/0113.xhp
+++ b/source/text/shared/01/0113.xhp
@@ -80,7 +80,7 @@
 
 To set the 
default %PRODUCTNAME printer options for 
spreadsheet documents, choose Tools - Options - %PRODUCTNAME Calc 
- Print.
 
-To set the 
default %PRODUCTNAMEprinter options for 
presentation documents, choose Tools - Options - %PRODUCTNAME 
Impress - Print.
+To set the 
default %PRODUCTNAME printer options for 
presentation documents, choose Tools - Options - %PRODUCTNAME 
Impress - Print.
 
 Press Shift+F1 or choose Help - What's 
This? and point to any control element in the Print dialog to see an 
extended help text.
 Preview
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] help.git: source/text

2017-01-15 Thread Gabor Kelemen
 source/text/scalc/01/04060181.xhp  |2 +-
 source/text/schart/01/type_xy.xhp  |2 +-
 source/text/shared/guide/standard_template.xhp |2 +-
 source/text/swriter/01/05030800.xhp|2 +-
 source/text/swriter/guide/finding.xhp  |2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

New commits:
commit ba55e4f84d78748ea2f532515220e3860374a2b7
Author: Gabor Kelemen 
Date:   Sun Jan 15 22:49:58 2017 +0100

Typofixes: missing spaces around  and 

Change-Id: I20d9bed521fcf8c8fcba642c55821978cd3c78c3
Reviewed-on: https://gerrit.libreoffice.org/33107
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/source/text/scalc/01/04060181.xhp 
b/source/text/scalc/01/04060181.xhp
index e5d3f3b..b0336ac 100644
--- a/source/text/scalc/01/04060181.xhp
+++ b/source/text/scalc/01/04060181.xhp
@@ -348,7 +348,7 @@
 BINOM.INV(Trials; 
SP; Alpha)
 Trials The total number of trials.
 SP is the probability of success on each 
trial.
-AlphaThe border probability that is attained or 
exceeded.
+Alpha The border probability that is attained or 
exceeded.
 
 Example
 =BINOM.INV(8;0.6;0.9) returns 7, the smallest value for 
which the cumulative binomial distribution is greater than or equal to a 
criterion value.
diff --git a/source/text/schart/01/type_xy.xhp 
b/source/text/schart/01/type_xy.xhp
index 396abea..ba1d4d3 100644
--- a/source/text/schart/01/type_xy.xhp
+++ b/source/text/schart/01/type_xy.xhp
@@ -63,7 +63,7 @@
 Your XY chart may have more than one data series.
 XY Chart Variants
 You 
can choose an XY chart variant on the first page of the Chart Wizard, or by choosing 
Format - Chart Type for a chart in edit 
mode.
-The 
chart is created with default settings. After the chart is finished, you can 
edit its properties to change the appearance. Line styles and icons can be 
changed on the Linetab page of the data series properties 
dialog.
+The 
chart is created with default settings. After the chart is finished, you can 
edit its properties to change the appearance. Line styles and icons can be 
changed on the Line tab page of the data series properties 
dialog.
 Double-click any data point to open the Data 
Series dialog. In this dialog, you can change many properties of the 
data series.
 For 2D charts, you can choose Insert - Y Error 
Bars to enable the display of error bars.
 You 
can enable the display of mean value lines and trend lines using commands on 
the Insert menu.
diff --git a/source/text/shared/guide/standard_template.xhp 
b/source/text/shared/guide/standard_template.xhp
index afa7554..9ff9837 100644
--- a/source/text/shared/guide/standard_template.xhp
+++ b/source/text/shared/guide/standard_template.xhp
@@ -52,7 +52,7 @@
 You can define a document template for each $[officename] module. 
The following describes how to proceed for text documents.
 
 
-Save the document by choosing File - Templates - Save As 
Templateand saving the document in the My Templates 
category.
+Save the document by choosing File - Templates - Save As 
Template and saving the document in the My Templates 
category.
 
 
 Choose File - New - Templates.
diff --git a/source/text/swriter/01/05030800.xhp 
b/source/text/swriter/01/05030800.xhp
index 6c62fde..dbd07e8 100644
--- a/source/text/swriter/01/05030800.xhp
+++ b/source/text/swriter/01/05030800.xhp
@@ -40,7 +40,7 @@
 To 
change the numbering options for paragraphs that use the same paragraph style, 
choose View - Styles and Formatting, and then click the 
Paragraph Styles icon. Right-click the style in the list, choose 
Modify, and then click the Outline  Numbering 
tab.
  
  
-To 
change the numbering options for selected paragraphs, choose Format - 
Paragraph, and then click theOutline 
 Numbering tab.
+To 
change the numbering options for selected paragraphs, choose Format - 
Paragraph, and then click the 
Outline  Numbering tab.
  
   
 
diff --git a/source/text/swriter/guide/finding.xhp 
b/source/text/swriter/guide/finding.xhp
index 0bf6af6..774bfda 100644
--- a/source/text/swriter/guide/finding.xhp
+++ b/source/text/swriter/guide/finding.xhp
@@ -67,7 +67,7 @@
 Choose Edit - Find  Replace to open the Find  Replace 
dialog.
  
  
-Enter the text to search in the Findtext 
box.
+Enter the text to search in the Find text 
box.
  
  
 Enter the text to replace the found text in the Replace 
with text box.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: helpcontent2

2017-01-15 Thread Gabor Kelemen
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 285ac82fb31bfca44dbfe29c09c6affae3e60b4a
Author: Gabor Kelemen 
Date:   Sun Jan 15 22:49:58 2017 +0100

Updated core
Project: help  ba55e4f84d78748ea2f532515220e3860374a2b7

Typofixes: missing spaces around  and 

Change-Id: I20d9bed521fcf8c8fcba642c55821978cd3c78c3
Reviewed-on: https://gerrit.libreoffice.org/33107
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/helpcontent2 b/helpcontent2
index 26f1308..ba55e4f 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 26f13088c51486cbf9300e6453458f655f61d702
+Subproject commit ba55e4f84d78748ea2f532515220e3860374a2b7
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 105089] Base: Item Status Changed

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105089

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

http://cgit.freedesktop.org/libreoffice/help/commit/?id=26f13088c51486cbf9300e6453458f655f61d702

tdf#105089 (partial) Typo: 'if he status' -> 'if the status'

-- 
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 105089] Base: Item Status Changed

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105089

Commit Notification  changed:

   What|Removed |Added

 Whiteboard||target:5.4.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-qa] Weekly QA Report (W02-2017)

2017-01-15 Thread Xisco Fauli

Hello,

What have happened in QA in the last 7 days?

  * 153 have been created, of which, 36 are still unconfirmed ( Total 
Unconfirmed bugs: 467 )

Link: http://tinyurl.com/gr2lytn

  * 1187 comments have been written.

== STATUS CHANGED ==
  * 12 bugs have been changed to 'ASSIGNED'.
Link: http://tinyurl.com/hscd3ug
Done by: jan iversen ( 6 ), Winfried Donkers ( 2 ), Muhammet Kara ( 
1 ), Adolfo Jayme ( 1 ), Eike Rathke ( 1 ), abhilash300singh ( 1 )


  * 4 bugs have been changed to 'CLOSED'.
Link: http://tinyurl.com/hmqgyv6
Done by: Regina Henschel ( 4 )

  * 45 bugs have been changed to 'NEEDINFO'.
Link: http://tinyurl.com/jf3fp64
Done by: Xisco Faulí ( 29 ), tommy27 ( 4 ), Buovjaga ( 3 ), Aron 
Budea ( 2 ), V Stuart Foote ( 1 ), Julien Nabet ( 1 ), Cheng-Chia Tseng 
( 1 ), m.a.riosv ( 1 ), Gabor Kelemen ( 1 ), Caolán McNamara ( 1 ), 
Michael Amaral ( 1 )


  * 93 bugs have been changed to 'NEW'.
Link: http://tinyurl.com/jk87w2v
Done by: Buovjaga ( 26 ), Xisco Faulí ( 25 ), Heiko Tietze ( 6 ), 
Alex Thurgood ( 4 ), m.a.riosv ( 3 ), Aron Budea ( 3 ), V Stuart Foote ( 
2 ), Julien Nabet ( 2 ), Olivier Hallot ( 2 ), Maxim ( 2 ), Khaled Hosny 
( 2 ), jan iversen ( 2 ), Telesto ( 1 ), Kevin Suo ( 1 ), Regina 
Henschel ( 1 ), Pranav Kant ( 1 ), MM ( 1 ), Nadith Malinda ( 1 ), 
Justin L ( 1 ), Timur ( 1 ), Bartosz ( 1 ), Adolfo Jayme ( 1 ), Urmas ( 
1 ), DavidO ( 1 ), NuageBleu ( 1 ), kompilainenn ( 1 )


  * 1 bug has been changed to 'REOPENED'.
Link: http://tinyurl.com/zt8xasq
Done by: Regina Henschel ( 1 )

  * 35 bugs have been changed to 'RESOLVED DUPLICATE'.
Link: http://tinyurl.com/zb7rjne
Done by: Xisco Faulí ( 7 ), Maxim Monastirsky ( 5 ), V Stuart Foote 
( 4 ), Buovjaga ( 3 ), Julien Nabet ( 3 ), Telesto ( 2 ), m.a.riosv ( 2 
), Markus Mohrhard ( 2 ), Samuel Mehrbrodt (CIB) ( 1 ), robert ( 1 ), 
Mike Kaganski ( 1 ), Khaled Hosny ( 1 ), JoNi ( 1 ), Alex Thurgood ( 1 
), Katarina Behrens (CIB) ( 1 )


  * 38 bugs have been changed to 'RESOLVED FIXED'.
Link: http://tinyurl.com/zvqtean
Done by: jan iversen ( 4 ), Caolán McNamara ( 4 ), Noel Grandin ( 3 
), Michael Stahl ( 2 ), Mike Kaganski ( 2 ), Gabor Kelemen ( 2 ), Justin 
L ( 2 ), Eike Rathke ( 2 ), Zolnai Tamás ( 1 ), Xisco Faulí ( 1 ), V 
Stuart Foote ( 1 ), Vitaliy ( 1 ), Heiko Tietze ( 1 ), Thorsten Behrens 
(CIB) ( 1 ), Takeshi Abe ( 1 ), shreeshrii ( 1 ), Samuel Mehrbrodt (CIB) 
( 1 ), Pranav Kant ( 1 ), Maxim Monastirsky ( 1 ), Khaled Hosny ( 1 ), 
Laurent BP ( 1 ), Gerry ( 1 ), David Tardon ( 1 ), Aron Budea ( 1 ), 
yossi ( 1 )


  * 3 bugs have been changed to 'RESOLVED INSUFFICIENTDATA'.
Link: http://tinyurl.com/zlhcxh2
Done by: Heiko Tietze ( 3 )

  * 2 bugs have been changed to 'RESOLVED INVALID'.
Link: http://tinyurl.com/jxhfrkl
Done by: Telesto ( 1 ), m.a.riosv ( 1 )

  * 3 bugs have been changed to 'RESOLVED MOVED'.
Link: http://tinyurl.com/hsqhvww
Done by: Xisco Faulí ( 1 ), gmarco ( 1 ), Adolfo Jayme ( 1 )

  * 17 bugs have been changed to 'RESOLVED NOTABUG'.
Link: http://tinyurl.com/j43vngn
Done by: Xisco Faulí ( 5 ), Buovjaga ( 2 ), Maxim Monastirsky ( 2 
), GerardF ( 2 ), m.a.riosv ( 1 ), Lionel Elie Mamane ( 1 ), Gabor 
Kelemen ( 1 ), Justin L ( 1 ), Alex Thurgood ( 1 ), Cor Nouws ( 1 )


  * 5 bugs have been changed to 'RESOLVED NOTOURBUG'.
Link: http://tinyurl.com/z2r6lfu
Done by: Xisco Faulí ( 2 ), Bartosz ( 1 ), Adolfo Jayme ( 1 ), Aron 
Budea ( 1 )


  * 5 bugs have been changed to 'RESOLVED WONTFIX'.
Link: http://tinyurl.com/jl8roh3
Done by: Xisco Faulí ( 2 ), Heiko Tietze ( 2 ), m.a.riosv ( 1 )

  * 18 bugs have been changed to 'RESOLVED WORKSFORME'.
Link: http://tinyurl.com/j5rz3ql
Done by: Xisco Faulí ( 3 ), Kevin Suo ( 2 ), Aron Budea ( 2 ), 
Buovjaga ( 1 ), Thomas Mayer ( 1 ), Telesto ( 1 ), soueipatwi ( 1 ), 
odinatlas ( 1 ), Timur ( 1 ), cporterbee ( 1 ), Carla sella ( 1 ), 
tommy27 ( 1 ), Alessandro Tassi ( 1 ), agn01 ( 1 )


  * 21 bugs have been changed to 'UNCONFIRMED'.
Link: http://tinyurl.com/zszxnxx
Done by: Buovjaga ( 2 ), Steve Nordstrom ( 2 ), Alex Thurgood ( 2 
), henning.buhl ( 2 ), Yan Pas ( 1 ), MrKing ( 1 ), Heiko Tietze ( 1 ), 
thackert ( 1 ), Aprax ( 1 ), Paolo Benvenuto ( 1 ), Peter Toye ( 1 ), JZ 
( 1 ), Helmut Leininger ( 1 ), gscscnd ( 1 ), grofaty ( 1 ), bordfeldt ( 
1 ), Aron Budea ( 1 )


  * 8 bugs have been changed to 'VERIFIED FIXED'.
Link: http://tinyurl.com/zahrvrl
Done by: Buovjaga ( 2 ), Heiko Tietze ( 1 ), Kevin Suo ( 1 ), Óvári 
( 1 ), Luke ( 1 ), Terrence Enger ( 1 ), Aron Budea ( 1 )


  * 1 bug has been changed to 'VERIFIED WORKSFORME'.
Link: http://tinyurl.com/zdwxpeh
Done by: Buovjaga ( 1 )

== KEYWORDS ADDED ==
  * 'accessibility' has been added to 1 bugs.
Link: http://tinyurl.com/z73m57p
Done by: Aron Budea ( 1 )

  * 'bibisectRequest' has been added to 6 bugs.
Link: http://tinyurl.com/havma3q
Done by: Buovjaga ( 2 ), 

[Libreoffice-commits] help.git: source/text

2017-01-15 Thread Gabor Kelemen
 source/text/shared/02/01170103.xhp |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 26f13088c51486cbf9300e6453458f655f61d702
Author: Gabor Kelemen 
Date:   Sun Jan 15 16:18:47 2017 +0100

tdf#105089 (partial) Typo: 'if he status' -> 'if the status'

Change-Id: I78c9f36335ee1f79860237b92fa90b4731a589fd
Reviewed-on: https://gerrit.libreoffice.org/33104
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/source/text/shared/02/01170103.xhp 
b/source/text/shared/02/01170103.xhp
index 21ffdef..fb7de76 100644
--- a/source/text/shared/02/01170103.xhp
+++ b/source/text/shared/02/01170103.xhp
@@ -59,7 +59,7 @@
   The Text modified 
event takes place if you enter or modify a text in an input 
field.
 
 Item status changed
-  The 
Item status changed event takes place if the status of the control field 
has changed. The Item status changed event takes place if 
he status of the control field has changed.
+  The 
Item status changed event takes place if the status of the control field 
has changed. The Item status changed event takes place if 
the status of the control field has changed.
 
 When receiving focus
@@ -103,4 +103,4 @@
   The Mouse outside 
event takes place when the mouse is outside the control 
field.
   

-
\ No newline at end of file
+
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Weekly QA Report (W02-2017)

2017-01-15 Thread Xisco Fauli

Hello,

What have happened in QA in the last 7 days?

  * 153 have been created, of which, 36 are still unconfirmed ( Total 
Unconfirmed bugs: 467 )

Link: http://tinyurl.com/gr2lytn

  * 1187 comments have been written.

== STATUS CHANGED ==
  * 12 bugs have been changed to 'ASSIGNED'.
Link: http://tinyurl.com/hscd3ug
Done by: jan iversen ( 6 ), Winfried Donkers ( 2 ), Muhammet Kara ( 
1 ), Adolfo Jayme ( 1 ), Eike Rathke ( 1 ), abhilash300singh ( 1 )


  * 4 bugs have been changed to 'CLOSED'.
Link: http://tinyurl.com/hmqgyv6
Done by: Regina Henschel ( 4 )

  * 45 bugs have been changed to 'NEEDINFO'.
Link: http://tinyurl.com/jf3fp64
Done by: Xisco Faulí ( 29 ), tommy27 ( 4 ), Buovjaga ( 3 ), Aron 
Budea ( 2 ), V Stuart Foote ( 1 ), Julien Nabet ( 1 ), Cheng-Chia Tseng 
( 1 ), m.a.riosv ( 1 ), Gabor Kelemen ( 1 ), Caolán McNamara ( 1 ), 
Michael Amaral ( 1 )


  * 93 bugs have been changed to 'NEW'.
Link: http://tinyurl.com/jk87w2v
Done by: Buovjaga ( 26 ), Xisco Faulí ( 25 ), Heiko Tietze ( 6 ), 
Alex Thurgood ( 4 ), m.a.riosv ( 3 ), Aron Budea ( 3 ), V Stuart Foote ( 
2 ), Julien Nabet ( 2 ), Olivier Hallot ( 2 ), Maxim ( 2 ), Khaled Hosny 
( 2 ), jan iversen ( 2 ), Telesto ( 1 ), Kevin Suo ( 1 ), Regina 
Henschel ( 1 ), Pranav Kant ( 1 ), MM ( 1 ), Nadith Malinda ( 1 ), 
Justin L ( 1 ), Timur ( 1 ), Bartosz ( 1 ), Adolfo Jayme ( 1 ), Urmas ( 
1 ), DavidO ( 1 ), NuageBleu ( 1 ), kompilainenn ( 1 )


  * 1 bug has been changed to 'REOPENED'.
Link: http://tinyurl.com/zt8xasq
Done by: Regina Henschel ( 1 )

  * 35 bugs have been changed to 'RESOLVED DUPLICATE'.
Link: http://tinyurl.com/zb7rjne
Done by: Xisco Faulí ( 7 ), Maxim Monastirsky ( 5 ), V Stuart Foote 
( 4 ), Buovjaga ( 3 ), Julien Nabet ( 3 ), Telesto ( 2 ), m.a.riosv ( 2 
), Markus Mohrhard ( 2 ), Samuel Mehrbrodt (CIB) ( 1 ), robert ( 1 ), 
Mike Kaganski ( 1 ), Khaled Hosny ( 1 ), JoNi ( 1 ), Alex Thurgood ( 1 
), Katarina Behrens (CIB) ( 1 )


  * 38 bugs have been changed to 'RESOLVED FIXED'.
Link: http://tinyurl.com/zvqtean
Done by: jan iversen ( 4 ), Caolán McNamara ( 4 ), Noel Grandin ( 3 
), Michael Stahl ( 2 ), Mike Kaganski ( 2 ), Gabor Kelemen ( 2 ), Justin 
L ( 2 ), Eike Rathke ( 2 ), Zolnai Tamás ( 1 ), Xisco Faulí ( 1 ), V 
Stuart Foote ( 1 ), Vitaliy ( 1 ), Heiko Tietze ( 1 ), Thorsten Behrens 
(CIB) ( 1 ), Takeshi Abe ( 1 ), shreeshrii ( 1 ), Samuel Mehrbrodt (CIB) 
( 1 ), Pranav Kant ( 1 ), Maxim Monastirsky ( 1 ), Khaled Hosny ( 1 ), 
Laurent BP ( 1 ), Gerry ( 1 ), David Tardon ( 1 ), Aron Budea ( 1 ), 
yossi ( 1 )


  * 3 bugs have been changed to 'RESOLVED INSUFFICIENTDATA'.
Link: http://tinyurl.com/zlhcxh2
Done by: Heiko Tietze ( 3 )

  * 2 bugs have been changed to 'RESOLVED INVALID'.
Link: http://tinyurl.com/jxhfrkl
Done by: Telesto ( 1 ), m.a.riosv ( 1 )

  * 3 bugs have been changed to 'RESOLVED MOVED'.
Link: http://tinyurl.com/hsqhvww
Done by: Xisco Faulí ( 1 ), gmarco ( 1 ), Adolfo Jayme ( 1 )

  * 17 bugs have been changed to 'RESOLVED NOTABUG'.
Link: http://tinyurl.com/j43vngn
Done by: Xisco Faulí ( 5 ), Buovjaga ( 2 ), Maxim Monastirsky ( 2 
), GerardF ( 2 ), m.a.riosv ( 1 ), Lionel Elie Mamane ( 1 ), Gabor 
Kelemen ( 1 ), Justin L ( 1 ), Alex Thurgood ( 1 ), Cor Nouws ( 1 )


  * 5 bugs have been changed to 'RESOLVED NOTOURBUG'.
Link: http://tinyurl.com/z2r6lfu
Done by: Xisco Faulí ( 2 ), Bartosz ( 1 ), Adolfo Jayme ( 1 ), Aron 
Budea ( 1 )


  * 5 bugs have been changed to 'RESOLVED WONTFIX'.
Link: http://tinyurl.com/jl8roh3
Done by: Xisco Faulí ( 2 ), Heiko Tietze ( 2 ), m.a.riosv ( 1 )

  * 18 bugs have been changed to 'RESOLVED WORKSFORME'.
Link: http://tinyurl.com/j5rz3ql
Done by: Xisco Faulí ( 3 ), Kevin Suo ( 2 ), Aron Budea ( 2 ), 
Buovjaga ( 1 ), Thomas Mayer ( 1 ), Telesto ( 1 ), soueipatwi ( 1 ), 
odinatlas ( 1 ), Timur ( 1 ), cporterbee ( 1 ), Carla sella ( 1 ), 
tommy27 ( 1 ), Alessandro Tassi ( 1 ), agn01 ( 1 )


  * 21 bugs have been changed to 'UNCONFIRMED'.
Link: http://tinyurl.com/zszxnxx
Done by: Buovjaga ( 2 ), Steve Nordstrom ( 2 ), Alex Thurgood ( 2 
), henning.buhl ( 2 ), Yan Pas ( 1 ), MrKing ( 1 ), Heiko Tietze ( 1 ), 
thackert ( 1 ), Aprax ( 1 ), Paolo Benvenuto ( 1 ), Peter Toye ( 1 ), JZ 
( 1 ), Helmut Leininger ( 1 ), gscscnd ( 1 ), grofaty ( 1 ), bordfeldt ( 
1 ), Aron Budea ( 1 )


  * 8 bugs have been changed to 'VERIFIED FIXED'.
Link: http://tinyurl.com/zahrvrl
Done by: Buovjaga ( 2 ), Heiko Tietze ( 1 ), Kevin Suo ( 1 ), Óvári 
( 1 ), Luke ( 1 ), Terrence Enger ( 1 ), Aron Budea ( 1 )


  * 1 bug has been changed to 'VERIFIED WORKSFORME'.
Link: http://tinyurl.com/zdwxpeh
Done by: Buovjaga ( 1 )

== KEYWORDS ADDED ==
  * 'accessibility' has been added to 1 bugs.
Link: http://tinyurl.com/z73m57p
Done by: Aron Budea ( 1 )

  * 'bibisectRequest' has been added to 6 bugs.
Link: http://tinyurl.com/havma3q
Done by: Buovjaga ( 2 ), 

[Libreoffice-commits] core.git: helpcontent2

2017-01-15 Thread Gabor Kelemen
 helpcontent2 |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 1cba476527abda5e1e4a724113c1fb7b9b261c9f
Author: Gabor Kelemen 
Date:   Sun Jan 15 16:18:47 2017 +0100

Updated core
Project: help  26f13088c51486cbf9300e6453458f655f61d702

tdf#105089 (partial) Typo: 'if he status' -> 'if the status'

Change-Id: I78c9f36335ee1f79860237b92fa90b4731a589fd
Reviewed-on: https://gerrit.libreoffice.org/33104
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/helpcontent2 b/helpcontent2
index 7f522b0..26f1308 16
--- a/helpcontent2
+++ b/helpcontent2
@@ -1 +1 @@
-Subproject commit 7f522b0b3add60eaf756d4c018b92c9c9f45d9ba
+Subproject commit 26f13088c51486cbf9300e6453458f655f61d702
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 105357] New: Chinese typing does not work - IBus-libpinyin not supported

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105357

Bug ID: 105357
   Summary: Chinese typing does not work - IBus-libpinyin not
supported
   Product: LibreOffice
   Version: 5.2.3.3 release
  Hardware: All
OS: Linux (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: LibreOffice
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: baimafe...@posteo.org

Ibus-libpinyin does not work with LibreOffice. This is a critical bug for me as
I currently cannot use LibreOffice for any Chinese-related work. Perhaps this
information may be helpful:
https://wiki.archlinux.org/index.php/IBus#LibreOffice

This issue was discussed on the Solus bug tracker here and identified as an
upstream issue: https://dev.solus-project.com/T1753

-- 
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 105356] New: Calc can not import xml file?

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105356

Bug ID: 105356
   Summary: Calc can not import xml file?
   Product: LibreOffice
   Version: 5.2.3.3 release
  Hardware: All
OS: Windows (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Calc
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: d...@gmx.net

Trying to import xml file, size is 6751 kb. Can not assign cells - Calc does
nothing for more than an hour with recent hardware. Works fine with Excel
within seconds.

dtd:





































































































xsd:

http://www.w3.org/2001/XMLSchema;
elementFormDefault="qualified">
  

  

  

  
  

  























  

  
  

  














  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  

  
  

  





  

  
  

  


  

  
  

  

  

  
  

  

  
  

  

  

  
  

  

  
  

  
  

  

  

  
  

  




  

  
  

  

  
  

  





  

  
  

  





























  

  


-- 
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: Subject: Arkadiy Illarionov license statement

2017-01-15 Thread Jan Iversen
WELCOME
Thanks for your license statement.

We suggest you add yourself to our wiki (remark this is not a demand)
https://wiki.documentfoundation.org/Development/Developers

If you want help to get started or have any questions, then please contact me. 
I am here to help you (and others) in getting their first patch submitted.

LibreOffice is a very big program and getting it built, setting up gerrit, and 
getting the first patch right can be a bit challenging, therefore do not 
hesitate to email me if you want help.

We have made a step by step guide to help you get started:
https://wiki.documentfoundation.org/Development/GetInvolved

rgds
Jan Iversen.___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] online.git: kit/Kit.cpp

2017-01-15 Thread Ashod Nakashian
 kit/Kit.cpp |   17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

New commits:
commit 6246e744334c1df4fa524cefaabdcb5d0880c26a
Author: Ashod Nakashian 
Date:   Sun Jan 15 23:54:08 2017 -0500

wsd: copy jail files when symlinking fails

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index b82cdc8..ba5f5b6 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -146,9 +146,18 @@ namespace
 File(newPath.parent()).createDirectories();
 if (link(fpath, newPath.toString().c_str()) == -1)
 {
-LOG_SYS("link(\"" << std::string(fpath) << "\",\"" <<
-newPath.toString() << "\") failed. Exiting.");
-std::_Exit(Application::EXIT_SOFTWARE);
+LOG_SYS("link(\"" << fpath << "\", \"" <<
+newPath.toString() << "\") failed. Will copy.");
+try
+{
+File(fpath).copyTo(newPath.toString());
+}
+catch (const std::exception& exc)
+{
+LOG_ERR("Copying of '" << fpath << "' to " << 
newPath.toString() <<
+" failed: " << exc.what() << ". Exiting.");
+std::_Exit(Application::EXIT_SOFTWARE);
+}
 }
 break;
 case FTW_D:
@@ -199,7 +208,9 @@ namespace
 sourceForLinkOrCopy.pop_back();
 destinationForLinkOrCopy = destination;
 if (nftw(source.c_str(), linkOrCopyFunction, 10, FTW_ACTIONRETVAL) == 
-1)
+{
 LOG_ERR("linkOrCopy: nftw() failed for '" << source << "'");
+}
 }
 
 void dropCapability(cap_value_t capability)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: test/data test/httpwserror.cpp

2017-01-15 Thread Ashod Nakashian
 test/data/corrupted.odt |   41 +
 test/httpwserror.cpp|   34 ++
 2 files changed, 75 insertions(+)

New commits:
commit 42b11e21afdcfcd1df837070b0068b8073ef62a6
Author: Ashod Nakashian 
Date:   Sun Jan 15 23:14:15 2017 -0500

wsd: unittest for document load failure validation

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

diff --git a/test/data/corrupted.odt b/test/data/corrupted.odt
new file mode 100755
index 000..01d3b38
--- /dev/null
+++ b/test/data/corrupted.odt
@@ -0,0 +1,41 @@
+PK\00\00\00\00L\90:^\C62
'\00\00\00'\00\00\00\00\00\00mimetypeapplication/vnd.oasis.opendocument.textPK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/statusbar/PK\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00'\00\00\00Configurations2/accelerator/current.xml\00PK\00\00\00\00\00\00\00\00\00\30\00PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/floater/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/popupmenu/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/progressbar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/menubar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/toolbar/PK\00\00\00\00L\90:\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00Configurations2/images/Bitmaps/PK\00\00L\90:Ó¡\E8Q\CB\00\00\DA
+\00\00\00\00\00content.xml\A5V\C9n\DB0\BD\F7+\E8\8Df\EC\B4@\A2\DA
+$=4\90+CR6Q.*IY\F6ߗ\8BE\D3I\94\F0\C52\87\EF\CD\DF
\97\F9\CDN\F0bK\B5aJ.\CA\E9\E4\A2,\A8Ċ0\B9^\94\8F\AB_઼Y~\9A\AB\BAf\98VD\E1VPiVҺo\E1\D8\D2TqvQ\B6ZV
+f*\895\95ŕj\A8\ECYU\8E\AEB\ACh1v\CFG\D38g[\BA\B3c\C9{\C2E\CF\E3#p\CE&uc\C9\EBD\CD\E9\B5K\DEj\E5T
+\B2\ECE;\CE\E4\DFE\B9\B1\B6\A9 \EC\BAn\D2]N\94^\C3\E9\F5\F55\B3)a\9CpM\ABy@

[Libreoffice-commits] online.git: wsd/Storage.hpp

2017-01-15 Thread Ashod Nakashian
 wsd/Storage.hpp |3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit dc57cf8d3c7b0e97175c31411f4564b6b5f05e1a
Author: Ashod Nakashian 
Date:   Sun Jan 15 23:06:27 2017 -0500

wsd: 0-byte files are valid and LO loads them as new docs

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

diff --git a/wsd/Storage.hpp b/wsd/Storage.hpp
index 4aada27..69b1ea9 100644
--- a/wsd/Storage.hpp
+++ b/wsd/Storage.hpp
@@ -43,7 +43,8 @@ public:
 
 bool isValid() const
 {
-return !_filename.empty() && _size > 0;
+// 0-byte files are valid; LO will open them as new docs.
+return !_filename.empty();
 }
 
 std::string _filename;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: kit/Kit.cpp loleaflet/dist loleaflet/src

2017-01-15 Thread Ashod Nakashian
 kit/Kit.cpp |6 ++
 loleaflet/dist/errormessages.js |1 +
 loleaflet/src/core/Socket.js|3 +++
 3 files changed, 10 insertions(+)

New commits:
commit 6b3d2bd7cea9f4c966b523ca806b0fce1aed88dc
Author: Ashod Nakashian 
Date:   Sun Jan 15 22:50:08 2017 -0500

wsd: notify the user when document loading fails

Also do not segfault in the event.

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index f28978e..b82cdc8 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -1426,6 +1426,12 @@ private:
 /// Return access to the lok::Document instance.
 std::shared_ptr getLOKitDocument() override
 {
+if (!_loKitDocument)
+{
+LOG_ERR("Document [" << _docKey << "] is not loaded.");
+throw std::runtime_error("Document " + _docKey + " is not 
loaded.");
+}
+
 return _loKitDocument;
 }
 
diff --git a/loleaflet/dist/errormessages.js b/loleaflet/dist/errormessages.js
index 83b6674..329fa55 100644
--- a/loleaflet/dist/errormessages.js
+++ b/loleaflet/dist/errormessages.js
@@ -6,6 +6,7 @@ exports.unauthorized = _('Unauthorized WOPI host. Please try 
again later and rep
 exports.wrongwopisrc = _('Wrong WOPISrc, usage: WOPISrc=valid encoded URI, or 
file_path, usage: file_path=/path/to/doc/');
 exports.sessionexpiry = _('Your session will expire in %time. Please save your 
work and refresh the session (or webpage) to continue.');
 exports.sessionexpired = _('Your session has been expired. Further changes to 
document might not be saved. Please refresh the session (or webpage) to 
continue.');
+exports.faileddocloading = _('Failed to load the document. Please ensure the 
file type is supported and not corrupted, and try again.');
 
 exports.storage = {
savediskfull: _('Save failed due to no disk space left on storage 
server. Document will now be read-only. Please contact the server administrator 
to continue editing.'),
diff --git a/loleaflet/src/core/Socket.js b/loleaflet/src/core/Socket.js
index 9ba1ec5..32ed572 100644
--- a/loleaflet/src/core/Socket.js
+++ b/loleaflet/src/core/Socket.js
@@ -349,6 +349,9 @@ L.Socket = L.Class.extend({
} else if (errorKind.startsWith('wrongpassword')) {
passwordNeeded = true;
msg = _('Wrong password provided. Please try 
again.');
+   } else if (errorKind.startsWith('faileddocloading')) {
+   this._map._fatal = true;
+   this._map.fire('error', {msg: 
errorMessages.faileddocloading});
}
 
if (passwordNeeded) {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 104950] Dates in MY (Malaysia) English localization: incorrect. Column wise change not reflected in individual cells

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=104950

--- Comment #3 from yinlkw...@hotmail.com ---
Created attachment 130466
  --> https://bugs.documentfoundation.org/attachment.cgi?id=130466=edit
format cell window showing default en- MY  IN LANGUAGE BOX

-- 
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: include/svx svx/source

2017-01-15 Thread Noel Grandin
 include/svx/galtheme.hxx |3 ++-
 include/svx/hlnkitem.hxx |7 ---
 include/svx/langbox.hxx  |3 ++-
 include/svx/numinf.hxx   |5 +++--
 include/svx/svdobj.hxx   |3 ++-
 include/svx/svdoedge.hxx |2 +-
 include/svx/svdogrp.hxx  |2 +-
 include/svx/svdorect.hxx |2 +-
 include/svx/svdotext.hxx |3 ++-
 include/svx/svdundo.hxx  |6 +++---
 include/svx/xbitmap.hxx  |2 +-
 include/svx/xexch.hxx|7 ---
 svx/source/dialog/langbox.cxx|3 +--
 svx/source/dialog/srchdlg.cxx|   13 ++---
 svx/source/form/fmshimp.cxx  |1 -
 svx/source/gallery2/gallery1.cxx |8 
 svx/source/inc/fmshimp.hxx   |2 +-
 svx/source/items/hlnkitem.cxx|   16 +---
 svx/source/items/numinf.cxx  |   11 +++
 svx/source/svdraw/svdobj.cxx |8 ++--
 svx/source/svdraw/svdocirc.cxx   |2 +-
 svx/source/svdraw/svdoedge.cxx   |5 ++---
 svx/source/svdraw/svdogrp.cxx|   35 +--
 svx/source/svdraw/svdorect.cxx   |   13 -
 svx/source/svdraw/svdotxln.cxx   |5 ++---
 svx/source/svdraw/svdundo.cxx|3 +--
 svx/source/xoutdev/xattrbmp.cxx  |   10 --
 svx/source/xoutdev/xexch.cxx |   12 
 28 files changed, 83 insertions(+), 109 deletions(-)

New commits:
commit 0b272cdf0025ce4bca31ee01c8b3aaca042dcb62
Author: Noel Grandin 
Date:   Wed Jan 11 13:04:35 2017 +0200

new loplugin: useuniqueptr: svx

Change-Id: I0eb3d43d7bcfc491df16a72997a0720a6aec2c5c
Reviewed-on: https://gerrit.libreoffice.org/32959
Reviewed-by: Noel Grandin 
Tested-by: Noel Grandin 

diff --git a/include/svx/galtheme.hxx b/include/svx/galtheme.hxx
index f93fd1b..003c013 100644
--- a/include/svx/galtheme.hxx
+++ b/include/svx/galtheme.hxx
@@ -110,13 +110,14 @@ private:
 SAL_DLLPRIVATE void ImplBroadcast( sal_uIntPtr nUpdatePos );
 
 SAL_DLLPRIVATE  GalleryTheme( Gallery* pGallery, 
GalleryThemeEntry* pThemeEntry );
-SAL_DLLPRIVATE  virtual ~GalleryTheme() override;
 
 GalleryTheme(GalleryTheme const &) = delete;
 void operator =(GalleryTheme const &) = delete;
 
 public:
 
+SAL_DLLPRIVATE  virtual ~GalleryTheme() override;
+
 SAL_DLLPRIVATE static GalleryThemeEntry* CreateThemeEntry( const 
INetURLObject& rURL, bool bReadOnly );
 
 SAL_DLLPRIVATE size_t   GetObjectCount() const { return 
aObjectList.size(); }
diff --git a/include/svx/hlnkitem.hxx b/include/svx/hlnkitem.hxx
index 902546d..fa70a26 100644
--- a/include/svx/hlnkitem.hxx
+++ b/include/svx/hlnkitem.hxx
@@ -25,6 +25,7 @@
 #include 
 #include 
 #include 
+#include 
 
 enum class HyperDialogEvent {
 NONE= 0x,
@@ -52,7 +53,7 @@ class SVX_DLLPUBLIC SvxHyperlinkItem : public SfxPoolItem
 SvxLinkInsertMode eType;
 
 OUString sIntName;
-SvxMacroTableDtor*  pMacroTable;
+std::unique_ptr  pMacroTable;
 
 HyperDialogEvent nMacroEvents;
 
@@ -67,7 +68,7 @@ public:
 SvxLinkInsertMode eTyp,
 HyperDialogEvent nEvents = 
HyperDialogEvent::NONE,
 SvxMacroTableDtor *pMacroTbl =nullptr );
-virtual ~SvxHyperlinkItem () override { delete pMacroTable; }
+virtual ~SvxHyperlinkItem () override {}
 
 inline SvxHyperlinkItem& operator=( const SvxHyperlinkItem  );
 
@@ -94,7 +95,7 @@ public:
 void SetMacro( HyperDialogEvent nEvent, const SvxMacro& rMacro );
 
 void SetMacroTable( const SvxMacroTableDtor& rTbl );
-const SvxMacroTableDtor* GetMacroTable() const{ return pMacroTable; }
+const SvxMacroTableDtor* GetMacroTable() const { return pMacroTable.get(); 
}
 
 void SetMacroEvents (const HyperDialogEvent nEvents) { nMacroEvents = 
nEvents; }
 HyperDialogEvent GetMacroEvents() const { return nMacroEvents; }
diff --git a/include/svx/langbox.hxx b/include/svx/langbox.hxx
index 6aeb867..4a309e2 100644
--- a/include/svx/langbox.hxx
+++ b/include/svx/langbox.hxx
@@ -90,7 +90,8 @@ protected:
 Image   m_aNotCheckedImage;
 Image   m_aCheckedImage;
 OUStringm_aAllString;
-css::uno::Sequence< sal_Int16 >  *m_pSpellUsedLang;
+std::unique_ptr>
+m_pSpellUsedLang;
 SvxLanguageListFlagsm_nLangList;
 boolm_bHasLangNone;
 boolm_bLangNoneIsLangAll;
diff --git a/include/svx/numinf.hxx b/include/svx/numinf.hxx
index 694f8d5..c99f985 100644
--- a/include/svx/numinf.hxx
+++ b/include/svx/numinf.hxx
@@ -61,7 +61,7 @@ public:
 const OUString& GetValueString() const { return aStringVal; }
 double 

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

2017-01-15 Thread Noel Grandin
 chart2/source/controller/accessibility/AccessibleChartView.cxx|9 +-
 chart2/source/controller/accessibility/AccessibleTextHelper.cxx   |5 +--
 chart2/source/controller/drawinglayer/ViewElementListProvider.cxx |   13 
++
 chart2/source/controller/inc/AccessibleChartView.hxx  |2 -
 chart2/source/controller/inc/AccessibleTextHelper.hxx |4 +--
 chart2/source/controller/inc/ViewElementListProvider.hxx  |5 ++-
 chart2/source/view/axes/Tickmarks_Equidistant.cxx |3 --
 chart2/source/view/axes/Tickmarks_Equidistant.hxx |3 +-
 chart2/source/view/charttypes/AreaChart.cxx   |   11 
+++-
 chart2/source/view/charttypes/AreaChart.hxx   |3 +-
 chart2/source/view/charttypes/BarChart.cxx|   13 
--
 chart2/source/view/charttypes/BarChart.hxx|2 -
 chart2/source/view/charttypes/CandleStickChart.cxx|9 +++---
 chart2/source/view/charttypes/CandleStickChart.hxx|2 -
 chart2/source/view/charttypes/PieChart.cxx|7 ++---
 chart2/source/view/charttypes/PieChart.hxx|3 +-
 16 files changed, 46 insertions(+), 48 deletions(-)

New commits:
commit 570d8dab6d6754ab8020cbe6624020dff7b8b624
Author: Noel Grandin 
Date:   Wed Jan 11 13:31:26 2017 +0200

new loplugin: useuniqueptr: chart2

Change-Id: Ic029ed28fd6de8cf4ee204585c1c6e0c8a4b67ff
Reviewed-on: https://gerrit.libreoffice.org/32960
Tested-by: Jenkins 
Reviewed-by: Noel Grandin 

diff --git a/chart2/source/controller/accessibility/AccessibleChartView.cxx 
b/chart2/source/controller/accessibility/AccessibleChartView.cxx
index 0cce8bd..fac65a6 100644
--- a/chart2/source/controller/accessibility/AccessibleChartView.cxx
+++ b/chart2/source/controller/accessibility/AccessibleChartView.cxx
@@ -63,7 +63,6 @@ AccessibleChartView::AccessibleChartView(SdrView* pView ) :
 
 AccessibleChartView::~AccessibleChartView()
 {
-delete m_pViewForwarder;
 }
 
 awt::Rectangle AccessibleChartView::GetWindowPosSize() const
@@ -324,12 +323,8 @@ void SAL_CALL AccessibleChartView::initialize( const 
Sequence< Any >& rArguments
 aAccInfo.m_spObjectHierarchy = m_spObjectHierarchy;
 aAccInfo.m_pSdrView = m_pSdrView;
 VclPtr pWindow = VCLUnoHelper::GetWindow( m_xWindow );
-if ( m_pViewForwarder )
-{
-delete m_pViewForwarder;
-}
-m_pViewForwarder = new AccessibleViewForwarder( this, pWindow );
-aAccInfo.m_pViewForwarder = m_pViewForwarder;
+m_pViewForwarder.reset( new AccessibleViewForwarder( this, pWindow 
) );
+aAccInfo.m_pViewForwarder = m_pViewForwarder.get();
 // broadcasts an INVALIDATE_ALL_CHILDREN event globally
 SetInfo( aAccInfo );
 }
diff --git a/chart2/source/controller/accessibility/AccessibleTextHelper.cxx 
b/chart2/source/controller/accessibility/AccessibleTextHelper.cxx
index d7d4fdd..367c098 100644
--- a/chart2/source/controller/accessibility/AccessibleTextHelper.cxx
+++ b/chart2/source/controller/accessibility/AccessibleTextHelper.cxx
@@ -53,7 +53,6 @@ AccessibleTextHelper::AccessibleTextHelper(
 
 AccessibleTextHelper::~AccessibleTextHelper()
 {
-delete m_pTextHelper;
 }
 
 //  XInitialization 
@@ -79,7 +78,7 @@ void SAL_CALL AccessibleTextHelper::initialize( const 
Sequence< uno::Any >& aArg
 
 SolarMutexGuard aSolarGuard;
 
-delete m_pTextHelper;
+m_pTextHelper.reset();
 
 VclPtr pWindow( VCLUnoHelper::GetWindow( xWindow ));
 if( pWindow )
@@ -90,7 +89,7 @@ void SAL_CALL AccessibleTextHelper::initialize( const 
Sequence< uno::Any >& aArg
 SdrObject * pTextObj = m_pDrawViewWrapper->getNamedSdrObject( aCID 
);
 if( pTextObj )
 {
-m_pTextHelper = new 
::accessibility::AccessibleTextHelper(o3tl::make_unique(*pTextObj,
 nullptr, *pView, *pWindow));
+m_pTextHelper.reset( new 
::accessibility::AccessibleTextHelper(o3tl::make_unique(*pTextObj,
 nullptr, *pView, *pWindow)) );
 m_pTextHelper->SetEventSource( xEventSource );
 }
 }
diff --git a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx 
b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx
index bebf04e..d79a53c 100644
--- a/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx
+++ b/chart2/source/controller/drawinglayer/ViewElementListProvider.cxx
@@ -52,9 +52,14 @@ ViewElementListProvider::ViewElementListProvider( 
DrawModelWrapper* pDrawModelWr
 {
 }
 
+ViewElementListProvider::ViewElementListProvider( ViewElementListProvider&& 
rOther )
+{
+m_pDrawModelWrapper = rOther.m_pDrawModelWrapper;

[Libreoffice-bugs] [Bug 104950] Dates in MY (Malaysia) English localization: incorrect. Column wise change not reflected in individual cells

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=104950

--- Comment #2 from yinlkw...@hotmail.com ---
Calc version 5.1.4.2 under ubuntu 16.04 do not have default - en My
localisation.

This default - en My localisation is found in calc running under win 10.
Suspect it is derived from the win 10 input language  english - Malaysia.

I think the solution is to create english malaysia localisation which is
similar to malay localisation (DDMMYY) except that the language is english. 
Note: Most of the private business community use english -My. 

Only in government sector some use Malay localisation.

-- 
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 105059] Cannot translate a properties's items in sidebar

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105059

baffclan  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #3 from baffclan  ---
(In reply to Julien Nabet from comment #2)
> Your screenshot is quite weird.
I think so too.
LibO 5.3.0.1 (x64)/Windows10 is "Page".

I thought there was a possibility of a profile problem, I tried using a new
profile.
Then it became "Page".
I do not know the cause...
(customize? but it should not be customized.)

-> WFM

-- 
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: sw/source

2017-01-15 Thread Justin Luth
 sw/source/core/fields/cellfml.cxx |   12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

New commits:
commit 0611017c1df3c98684fbb904c1ab5ec7f68074d8
Author: Justin Luth 
Date:   Wed Jan 11 10:43:42 2017 +0300

tdf#74177 Writer table: comment shouldn't prevent IsNumberFormat

This patch allows processing a number even if a comment is the
first item in the string. Previously the result was formula
cells displaying an error message.

Only fields were handled for annotation anchors. Allow other
non-word-breaking markers to be checked for number validity.

Change-Id: I13b3566bf93f0029a28bada470cdd4196271bccd
Reviewed-on: https://gerrit.libreoffice.org/32949
Tested-by: Jenkins 
Reviewed-by: Justin Luth 

diff --git a/sw/source/core/fields/cellfml.cxx 
b/sw/source/core/fields/cellfml.cxx
index 1d55ab8..79432e2 100644
--- a/sw/source/core/fields/cellfml.cxx
+++ b/sw/source/core/fields/cellfml.cxx
@@ -150,13 +150,13 @@ double SwTableBox::GetValue( SwTableCalcPara& rCalcPara ) 
const
 // if there is a calculation field at position 1, get the value of it
 const bool bOK = nSttPos(pTextNd->GetTextAttrForCharAt(nSttPos, 
RES_TXTATR_FIELD));
-if ( pTextField == nullptr )
-break;
-
+pTextField = 
static_txtattr_cast(pTextNd->GetTextAttrForCharAt(nSttPos, 
RES_TXTATR_FIELD));
+}
+if ( pTextField != nullptr )
+{
 rCalcPara.rCalc.SetCalcError( CALC_NOERR ); // reset status
 
 const SwField* pField = pTextField->GetFormatField().GetField();
@@ -206,7 +206,7 @@ double SwTableBox::GetValue( SwTableCalcPara& rCalcPara ) 
const
 break;
 nRet = rCalcPara.rCalc.Calculate( 
pTextInputField->GetFieldContent() ).GetDouble();
 }
-else
+else if ( Char != CH_TXTATR_BREAKWORD )
 {
 // result is 0 but no error!
 rCalcPara.rCalc.SetCalcError( CALC_NOERR ); // reset status
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/cib_contract57' - sal/osl

2017-01-15 Thread Thorsten Behrens
 sal/osl/all/log.cxx |7 +++
 1 file changed, 7 insertions(+)

New commits:
commit 62af107c1f58d822384f9f734b499b9c686a5b62
Author: Thorsten Behrens 
Date:   Mon Jan 16 05:04:20 2017 +0100

sal: log windows trace output to debugger console

Change-Id: Ic8fea70fd3b0b2d4881cd30e3616f5bbf7c0c533

diff --git a/sal/osl/all/log.cxx b/sal/osl/all/log.cxx
index 7dd3880..0d920ba 100644
--- a/sal/osl/all/log.cxx
+++ b/sal/osl/all/log.cxx
@@ -34,6 +34,7 @@
 #include 
 #elif defined WNT
 #include 
+#include 
 #define OSL_DETAIL_GETPID _getpid()
 #else
 #include 
@@ -305,10 +306,16 @@ void log(
 if (logFile) {
 *logFile << s.str();
 }
+#if defined WNT
+else {
+OutputDebugString(s.str().c_str());
+}
+#else
 else {
 std::fputs(s.str().c_str(), stderr);
 std::fflush(stderr);
 }
+#endif
 }
 #endif
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/cib_contract57' - sal/osl

2017-01-15 Thread Thorsten Behrens
 sal/osl/all/log.cxx |   15 ++-
 1 file changed, 10 insertions(+), 5 deletions(-)

New commits:
commit d9add6fe073b6407d3d1f1c1dbb80efd9d718f98
Author: Thorsten Behrens 
Date:   Mon Jan 16 04:19:34 2017 +0100

sal: don't reopen logfile on every log line

Change-Id: Iac34fc87a99e98ca5e41eb621d55bf356c371e97

diff --git a/sal/osl/all/log.cxx b/sal/osl/all/log.cxx
index 326d44e..7dd3880 100644
--- a/sal/osl/all/log.cxx
+++ b/sal/osl/all/log.cxx
@@ -144,7 +144,7 @@ char const * getLogLevel() {
 return nullptr;
 }
 
-char const * getLogFile() {
+char const * getLogFilePath() {
 // First check the environment variable, then the setting in logging.ini
 static char const * logFile = getEnvironmentVariable_("SAL_LOG_FILE");
 if (logFile != nullptr)
@@ -158,13 +158,19 @@ char const * getLogFile() {
 return nullptr;
 }
 
+std::ofstream * getLogFile() {
+static std::ofstream file(getLogFilePath(), std::ios::app | std::ios::out);
+
+return 
+}
+
 #endif
 
 bool report(sal_detail_LogLevel level, char const * area) {
 if (level == SAL_DETAIL_LOG_LEVEL_DEBUG)
 return true;
 assert(area != 0);
-char const * env = getLogLevel();
+static char const * env = getLogLevel();
 if (env == 0) {
 env = "+WARN";
 }
@@ -295,10 +301,9 @@ void log(
 syslog(prio, "%s", s.str().c_str());
 #endif
 } else {
-const char* logFile = getLogFile();
+static std::ofstream * logFile = getLogFile();
 if (logFile) {
-std::ofstream file(logFile, std::ios::app | std::ios::out);
-file << s.str();
+*logFile << s.str();
 }
 else {
 std::fputs(s.str().c_str(), stderr);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp wsd/LOOLWSD.hpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |  156 
 wsd/LOOLWSD.hpp |4 +
 2 files changed, 94 insertions(+), 66 deletions(-)

New commits:
commit 63dd8fca9b117f502e2145619dfc71342f822f32
Author: Ashod Nakashian 
Date:   Sun Jan 15 20:12:10 2017 -0500

wsd: improved forkit crash recovery

Refactored the forkit process wait and
re-fork into separate function.

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index ac89bdd..c9f9e7c 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -330,6 +330,8 @@ static bool forkChildren(const int number)
 LastForkRequestTime = std::chrono::steady_clock::now();
 return true;
 }
+
+LOG_ERR("No forkit pipe while rebalancing children.");
 }
 
 return false;
@@ -476,6 +478,7 @@ static std::shared_ptr getNewChild()
 if (!rebalanceChildren(numPreSpawn))
 {
 // Fatal. Let's fail and retry at a higher level.
+LOG_DBG("getNewChild: rebalancing of children failed.");
 return nullptr;
 }
 
@@ -869,6 +872,7 @@ private:
 if (retry > 0)
 {
 LOG_WRN("Failed to connect DocBroker and Client Session, 
retrying.");
+LOOLWSD::checkAndRestoreForKit();
 }
 else
 {
@@ -2076,14 +2080,80 @@ void LOOLWSD::displayHelp()
 helpFormatter.format(std::cout);
 }
 
+bool LOOLWSD::checkAndRestoreForKit()
+{
+int status;
+const pid_t pid = waitpid(ForKitProcId, , WUNTRACED | WNOHANG);
+if (pid > 0)
+{
+if (pid == ForKitProcId)
+{
+if (WIFEXITED(status) || WIFSIGNALED(status))
+{
+if (WIFEXITED(status))
+{
+LOG_INF("Forkit process [" << pid << "] exited with code: 
" <<
+WEXITSTATUS(status) << ".");
+}
+else
+{
+LOG_ERR("Forkit process [" << pid << "] " <<
+(WCOREDUMP(status) ? "core-dumped" : "died") <<
+" with " << SigUtil::signalName(WTERMSIG(status)));
+}
+
+// Spawn a new forkit and try to dust it off and resume.
+if (!createForKit())
+{
+LOG_FTL("Failed to spawn forkit instance. Shutting down.");
+SigUtil::requestShutdown();
+}
+}
+else if (WIFSTOPPED(status))
+{
+LOG_INF("Forkit process [" << pid << "] stopped with " <<
+SigUtil::signalName(WSTOPSIG(status)));
+}
+else if (WIFCONTINUED(status))
+{
+LOG_INF("Forkit process [" << pid << "] resumed with 
SIGCONT.");
+}
+else
+{
+LOG_WRN("Unknown status returned by waitpid: " << std::hex << 
status << ".");
+}
+
+return true;
+}
+else
+{
+LOG_ERR("An unknown child process [" << pid << "] died.");
+}
+}
+else if (pid < 0)
+{
+LOG_SYS("Forkit waitpid failed.");
+if (errno == ECHILD)
+{
+// No child processes.
+// Spawn a new forkit and try to dust it off and resume.
+if (!createForKit())
+{
+LOG_FTL("Failed to spawn forkit instance. Shutting down.");
+SigUtil::requestShutdown();
+}
+}
+
+return true;
+}
+
+return false;
+}
+
 bool LOOLWSD::createForKit()
 {
 LOG_INF("Creating new forkit process.");
 
-const int oldForKitWritePipe = ForKitWritePipe;
-ForKitWritePipe = -1;
-close(oldForKitWritePipe);
-
 Process::Args args;
 args.push_back("--losubpath=" + std::string(LO_JAIL_SUBPATH));
 args.push_back("--systemplate=" + SysTemplate);
@@ -2092,9 +2162,14 @@ bool LOOLWSD::createForKit()
 args.push_back("--clientport=" + std::to_string(ClientPortNumber));
 args.push_back("--masterport=" + std::to_string(MasterPortNumber));
 if (UnitWSD::get().hasKitHooks())
+{
 args.push_back("--unitlib=" + UnitTestLibrary);
+}
+
 if (DisplayVersion)
+{
 args.push_back("--version");
+}
 
 std::string forKitPath = 
Path(Application::instance().commandPath()).parent().toString() + "loolforkit";
 if (NoCapsForKit)
@@ -2107,6 +2182,15 @@ bool LOOLWSD::createForKit()
 std::unique_lock docBrokersLock(DocBrokersMutex);
 std::unique_lock newChildrenLock(NewChildrenMutex);
 
+// Always reap first, in 

[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp wsd/LOOLWSD.hpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   30 ++
 wsd/LOOLWSD.hpp |6 +-
 2 files changed, 19 insertions(+), 17 deletions(-)

New commits:
commit bccb2fcad69bd562db4e17eb6aba0ad5be417206
Author: Ashod Nakashian 
Date:   Sun Jan 15 17:54:55 2017 -0500

wsd: forkit process id is now a static member

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 23507ff..ac89bdd 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1678,6 +1678,7 @@ inline std::string getAdminURI(const 
Poco::Util::LayeredConfiguration )
 
 std::atomic LOOLWSD::NextSessionId;
 std::atomic LOOLWSD::ForKitWritePipe(-1);
+std::atomic LOOLWSD::ForKitProcId(-1);
 bool LOOLWSD::NoCapsForKit = false;
 std::string LOOLWSD::Cache = LOOLWSD_CACHEDIR;
 std::string LOOLWSD::SysTemplate;
@@ -2075,7 +2076,7 @@ void LOOLWSD::displayHelp()
 helpFormatter.format(std::cout);
 }
 
-Process::PID LOOLWSD::createForKit()
+bool LOOLWSD::createForKit()
 {
 LOG_INF("Creating new forkit process.");
 
@@ -2120,17 +2121,17 @@ Process::PID LOOLWSD::createForKit()
 // The Pipe dtor closes the fd, so dup it.
 ForKitWritePipe = dup(inPipe.writeHandle());
 
-const auto forkitPid = child.id();
+ForKitProcId = child.id();
 
-LOG_INF("Forkit process launched: " << forkitPid);
+LOG_INF("Forkit process launched: " << ForKitProcId);
 
 // Init the Admin manager
-Admin::instance().setForKitPid(forkitPid);
+Admin::instance().setForKitPid(ForKitProcId);
 
 // Spawn some children, if necessary.
 preForkChildren(newChildrenLock);
 
-return forkitPid;
+return (ForKitProcId != -1);
 }
 
 int LOOLWSD::main(const std::vector& /*args*/)
@@ -2230,8 +2231,7 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 srv2.start();
 
 // Fire the ForKit process; we are ready to get child connections.
-Process::PID forKitPid = createForKit();
-if (forKitPid < 0)
+if (!createForKit())
 {
 LOG_FTL("Failed to spawn loolforkit.");
 return Application::EXIT_SOFTWARE;
@@ -2268,10 +2268,10 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 break;
 }
 
-const pid_t pid = waitpid(forKitPid, , WUNTRACED | WNOHANG);
+const pid_t pid = waitpid(ForKitProcId, , WUNTRACED | WNOHANG);
 if (pid > 0)
 {
-if (forKitPid == pid)
+if (ForKitProcId == pid)
 {
 if (WIFEXITED(status) || WIFSIGNALED(status))
 {
@@ -2288,8 +2288,7 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 }
 
 // Spawn a new forkit and try to dust it off and resume.
-forKitPid = createForKit();
-if (forKitPid < 0)
+if (!createForKit())
 {
 LOG_FTL("Failed to spawn forkit instance. Shutting 
down.");
 SigUtil::requestShutdown();
@@ -2322,8 +2321,7 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 {
 // No child processes.
 // Spawn a new forkit and try to dust it off and resume.
-forKitPid = createForKit();
-if (forKitPid < 0)
+if (!createForKit())
 {
 LOG_FTL("Failed to spawn forkit instance. Shutting down.");
 SigUtil::requestShutdown();
@@ -2390,8 +2388,8 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 DocBrokers.clear();
 
 // Terminate child processes
-LOG_INF("Requesting forkit process " << forKitPid << " to terminate.");
-SigUtil::killChild(forKitPid);
+LOG_INF("Requesting forkit process " << ForKitProcId << " to terminate.");
+SigUtil::killChild(ForKitProcId);
 
 // Terminate child processes
 LOG_INF("Requesting child processes to terminate.");
@@ -2401,7 +2399,7 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 }
 
 // Wait for forkit process finish.
-waitpid(forKitPid, , WUNTRACED);
+waitpid(ForKitProcId, , WUNTRACED);
 close(ForKitWritePipe);
 
 // In case forkit didn't cleanup properly, don't leave jails behind.
diff --git a/wsd/LOOLWSD.hpp b/wsd/LOOLWSD.hpp
index 7728efa..f802981 100644
--- a/wsd/LOOLWSD.hpp
+++ b/wsd/LOOLWSD.hpp
@@ -37,6 +37,7 @@ public:
 static unsigned int NumPreSpawnedChildren;
 static bool NoCapsForKit;
 static std::atomic ForKitWritePipe;
+static std::atomic ForKitProcId;
 static std::string Cache;
 static std::string SysTemplate;
 static std::string LoTemplate;
@@ -68,6 +69,10 @@ public:
 
 static void dumpOutgoingTrace(const std::string& id, const std::string& 
sessionId, const std::string& data);
 
+/// Creates a 

[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   12 
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit f3fb3beeea67009a745ab7752789ff6068ac54e7
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:58:32 2017 -0500

wsd: block new requests when recovering forkit

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 7d55971..f040bcd 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -393,10 +393,10 @@ static bool rebalanceChildren(int balance)
 }
 
 /// Called on startup only.
-static void preForkChildren()
+static void preForkChildren(std::unique_lock& lock)
 {
-std::unique_lock docBrokersLock(DocBrokersMutex);
-std::unique_lock lock(NewChildrenMutex);
+Util::assertIsLocked(DocBrokersMutex);
+Util::assertIsLocked(lock);
 
 int numPreSpawn = LOOLWSD::NumPreSpawnedChildren;
 UnitWSD::get().preSpawnCount(numPreSpawn);
@@ -2102,6 +2102,10 @@ Process::PID LOOLWSD::createForKit()
 args.push_back("--nocaps");
 }
 
+// If we're recovering forkit, don't allow processing new requests.
+std::unique_lock docBrokersLock(DocBrokersMutex);
+std::unique_lock newChildrenLock(NewChildrenMutex);
+
 LOG_INF("Launching forkit process: " << forKitPath << ' ' <<
 Poco::cat(std::string(" "), args.begin(), args.end()));
 
@@ -2120,7 +2124,7 @@ Process::PID LOOLWSD::createForKit()
 Admin::instance().setForKitPid(forkitPid);
 
 // Spawn some children, if necessary.
-preForkChildren();
+preForkChildren(newChildrenLock);
 
 return forkitPid;
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

New commits:
commit c74c2b8f47c2707a639ef3d57f47e62f01c55e03
Author: Ashod Nakashian 
Date:   Sun Jan 15 17:46:28 2017 -0500

wsd: increment outstanding forks counter when forking

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index f040bcd..23507ff 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -176,7 +176,7 @@ static std::vector 
NewChildren;
 static std::mutex NewChildrenMutex;
 static std::condition_variable NewChildrenCV;
 static std::chrono::steady_clock::time_point LastForkRequestTime = 
std::chrono::steady_clock::now();
-static std::atomic OutstandingForks(1); // Forkit always spawns 1.
+static std::atomic OutstandingForks(0);
 static std::map DocBrokers;
 static std::mutex DocBrokersMutex;
 
@@ -2106,6 +2106,10 @@ Process::PID LOOLWSD::createForKit()
 std::unique_lock docBrokersLock(DocBrokersMutex);
 std::unique_lock newChildrenLock(NewChildrenMutex);
 
+
+// ForKit always spawns one.
+++OutstandingForks;
+
 LOG_INF("Launching forkit process: " << forKitPath << ' ' <<
 Poco::cat(std::string(" "), args.begin(), args.end()));
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp wsd/LOOLWSD.hpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   19 +--
 wsd/LOOLWSD.hpp |2 +-
 2 files changed, 14 insertions(+), 7 deletions(-)

New commits:
commit e3aec0e6c4b7fefe65aff19e6eb1ac048f2c8306
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:57:22 2017 -0500

wsd: detect and fail child forking when forkit is down

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 47a2fdc..7d55971 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -389,7 +389,7 @@ static bool rebalanceChildren(int balance)
 return forkChildren(balance);
 }
 
-return false;
+return true;
 }
 
 /// Called on startup only.
@@ -473,7 +473,11 @@ static std::shared_ptr getNewChild()
 LOG_DBG("getNewChild: Rebalancing children.");
 int numPreSpawn = LOOLWSD::NumPreSpawnedChildren;
 ++numPreSpawn; // Replace the one we'll dispatch just now.
-rebalanceChildren(numPreSpawn);
+if (!rebalanceChildren(numPreSpawn))
+{
+// Fatal. Let's fail and retry at a higher level.
+return nullptr;
+}
 
 LOG_TRC("Waiting for a new child for a max of " << CHILD_TIMEOUT_MS << 
" ms.");
 const auto timeout = chrono::milliseconds(CHILD_TIMEOUT_MS);
@@ -1673,7 +1677,7 @@ inline std::string getAdminURI(const 
Poco::Util::LayeredConfiguration )
 } // anonymous namespace
 
 std::atomic LOOLWSD::NextSessionId;
-int LOOLWSD::ForKitWritePipe = -1;
+std::atomic LOOLWSD::ForKitWritePipe(-1);
 bool LOOLWSD::NoCapsForKit = false;
 std::string LOOLWSD::Cache = LOOLWSD_CACHEDIR;
 std::string LOOLWSD::SysTemplate;
@@ -2073,8 +2077,13 @@ void LOOLWSD::displayHelp()
 
 Process::PID LOOLWSD::createForKit()
 {
-Process::Args args;
+LOG_INF("Creating new forkit process.");
+
+const int oldForKitWritePipe = ForKitWritePipe;
+ForKitWritePipe = -1;
+close(oldForKitWritePipe);
 
+Process::Args args;
 args.push_back("--losubpath=" + std::string(LO_JAIL_SUBPATH));
 args.push_back("--systemplate=" + SysTemplate);
 args.push_back("--lotemplate=" + LoTemplate);
@@ -2271,7 +2280,6 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 }
 
 // Spawn a new forkit and try to dust it off and resume.
-close(ForKitWritePipe);
 forKitPid = createForKit();
 if (forKitPid < 0)
 {
@@ -2306,7 +2314,6 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 {
 // No child processes.
 // Spawn a new forkit and try to dust it off and resume.
-close(ForKitWritePipe);
 forKitPid = createForKit();
 if (forKitPid < 0)
 {
diff --git a/wsd/LOOLWSD.hpp b/wsd/LOOLWSD.hpp
index a8d364e..7728efa 100644
--- a/wsd/LOOLWSD.hpp
+++ b/wsd/LOOLWSD.hpp
@@ -36,7 +36,7 @@ public:
 static std::atomic NextSessionId;
 static unsigned int NumPreSpawnedChildren;
 static bool NoCapsForKit;
-static int ForKitWritePipe;
+static std::atomic ForKitWritePipe;
 static std::string Cache;
 static std::string SysTemplate;
 static std::string LoTemplate;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: common/IoUtil.cpp wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 common/IoUtil.cpp |4 +++-
 wsd/LOOLWSD.cpp   |   12 +---
 2 files changed, 12 insertions(+), 4 deletions(-)

New commits:
commit 373b4646451200d7565d23793e276540adecf3f9
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:32:20 2017 -0500

wsd: logs and cosmetics

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

diff --git a/common/IoUtil.cpp b/common/IoUtil.cpp
index 3466dca..3991fc3 100644
--- a/common/IoUtil.cpp
+++ b/common/IoUtil.cpp
@@ -206,14 +206,16 @@ void SocketProcessor(const 
std::shared_ptr& ws,
 ssize_t writeToPipe(int pipe, const char* buffer, ssize_t size)
 {
 ssize_t count = 0;
-while(true)
+for (;;)
 {
 LOG_TRC("Writing to pipe. Data: [" << 
Util::formatLinesForLog(std::string(buffer, size)) << "].");
 const auto bytes = write(pipe, buffer + count, size - count);
 if (bytes < 0)
 {
 if (errno == EINTR || errno == EAGAIN)
+{
 continue;
+}
 
 LOG_SYS("Failed to write to pipe. Data: [" << std::string(buffer, 
size) << "].");
 count = -1;
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 7d0bb9f..e7d4ee7 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -399,13 +399,16 @@ static void preForkChildren()
 UnitWSD::get().preSpawnCount(numPreSpawn);
 
 // Wait until we have at least one child.
-const auto timeout = std::chrono::milliseconds(CHILD_TIMEOUT_MS * 3);
+const auto timeoutMs = CHILD_TIMEOUT_MS * 3;
+const auto timeout = std::chrono::milliseconds(timeoutMs);
+LOG_TRC("Waiting for a new child for a max of " << timeoutMs << " ms.");
 NewChildrenCV.wait_for(lock, timeout, []() { return !NewChildren.empty(); 
});
 
 // Now spawn more, as needed.
 rebalanceChildren(numPreSpawn);
 
 // Make sure we have at least one before moving forward.
+LOG_TRC("Waiting for a new child for a max of " << timeoutMs << " ms.");
 if (!NewChildrenCV.wait_for(lock, timeout, []() { return 
!NewChildren.empty(); }))
 {
 const auto msg = "Failed to fork child processes.";
@@ -469,6 +472,7 @@ static std::shared_ptr getNewChild()
 ++numPreSpawn; // Replace the one we'll dispatch just now.
 rebalanceChildren(numPreSpawn);
 
+LOG_TRC("Waiting for a new child for a max of " << CHILD_TIMEOUT_MS << 
" ms.");
 const auto timeout = chrono::milliseconds(CHILD_TIMEOUT_MS);
 if (NewChildrenCV.wait_for(lock, timeout, []() { return 
!NewChildren.empty(); }))
 {
@@ -1021,7 +1025,7 @@ private:
 if (!child)
 {
 // Let the client know we can't serve now.
-LOG_ERR("Failed to get new child. Service Unavailable.");
+LOG_ERR("Failed to get new child.");
 return nullptr;
 }
 
@@ -1104,6 +1108,9 @@ private:
 {
 LOG_CHECK_RET(docBroker && "Null docBroker instance", );
 
+const auto docKey = docBroker->getDocKey();
+LOG_DBG("Removing docBroker [" << docKey << "]" << (id.empty() ? "" : 
(" and session [" + id + "].")));
+
 std::unique_lock docBrokersLock(DocBrokersMutex);
 auto lock = docBroker->getLock();
 
@@ -1114,7 +1121,6 @@ private:
 
 if (docBroker->getSessionsCount() == 0 || !docBroker->isAlive())
 {
-const auto docKey = docBroker->getDocKey();
 LOG_INF("Removing unloaded DocumentBroker for docKey [" << docKey 
<< "].");
 DocBrokers.erase(docKey);
 docBroker->terminateChild(lock);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   19 +++
 1 file changed, 11 insertions(+), 8 deletions(-)

New commits:
commit 818329d66eadf38f99baa5d3dcc57d28f473483a
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:41:45 2017 -0500

wsd: update outstanding forks only on successfull write

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index e7d4ee7..47a2fdc 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -324,11 +324,12 @@ static bool forkChildren(const int number)
 
 const std::string aMessage = "spawn " + std::to_string(number) + "\n";
 LOG_DBG("MasterToForKit: " << aMessage.substr(0, aMessage.length() - 
1));
-
-OutstandingForks += number;
-IoUtil::writeToPipe(LOOLWSD::ForKitWritePipe, aMessage);
-LastForkRequestTime = std::chrono::steady_clock::now();
-return true;
+if (IoUtil::writeToPipe(LOOLWSD::ForKitWritePipe, aMessage) > 0)
+{
+OutstandingForks += number;
+LastForkRequestTime = std::chrono::steady_clock::now();
+return true;
+}
 }
 
 return false;
@@ -367,10 +368,12 @@ static bool rebalanceChildren(int balance)
 
 const auto duration = (std::chrono::steady_clock::now() - 
LastForkRequestTime);
 const auto durationMs = 
std::chrono::duration_cast(duration).count();
-if (durationMs >= CHILD_TIMEOUT_MS)
+if (OutstandingForks > 0 && durationMs >= CHILD_TIMEOUT_MS)
 {
 // Children taking too long to spawn.
 // Forget we had requested any, and request anew.
+LOG_WRN("ForKit not responsive for " << durationMs << " ms forking " <<
+OutstandingForks << " children. Resetting.");
 OutstandingForks = 0;
 }
 
@@ -381,8 +384,8 @@ static bool rebalanceChildren(int balance)
 if (balance > 0 && (rebalance || OutstandingForks == 0))
 {
 LOG_DBG("prespawnChildren: Have " << available << " spare " <<
-(available == 1 ? "child" : "children") <<
-", forking " << balance << " more.");
+(available == 1 ? "child" : "children") << ", and " <<
+OutstandingForks << " outstanding, forking " << balance << " 
more.");
 return forkChildren(balance);
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: common/IoUtil.cpp common/IoUtil.hpp common/Session.cpp common/Session.hpp wsd/DocumentBroker.hpp wsd/LOOLWebSocket.hpp

2017-01-15 Thread Ashod Nakashian
 common/IoUtil.cpp  |   19 ---
 common/IoUtil.hpp  |4 
 common/Session.cpp |   29 +++--
 common/Session.hpp |3 ++-
 wsd/DocumentBroker.hpp |7 ++-
 wsd/LOOLWebSocket.hpp  |   33 +
 6 files changed, 48 insertions(+), 47 deletions(-)

New commits:
commit b1ff72e13f2af829e0e5e0c79739230a54a982e0
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:28:52 2017 -0500

wsd: move shutdown web socket helper into LOOLWebSocket

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

diff --git a/common/IoUtil.cpp b/common/IoUtil.cpp
index cc62244..3466dca 100644
--- a/common/IoUtil.cpp
+++ b/common/IoUtil.cpp
@@ -203,25 +203,6 @@ void SocketProcessor(const std::shared_ptr& 
ws,
 ", flags: " << std::hex << flags);
 }
 
-void shutdownWebSocket(const std::shared_ptr& ws)
-{
-try
-{
-// Calling LOOLWebSocket::shutdown, in case of error, would try to 
send a 'close' frame
-// which won't work in case of broken pipe or timeout from peer. Just 
close the
-// socket in that case preventing 'close' frame from being sent.
-if (ws && ws->poll(Poco::Timespan(0), 
Socket::SelectMode::SELECT_ERROR))
-ws->close();
-else if (ws)
-ws->shutdown();
-}
-catch (const Poco::Exception& exc)
-{
-LOG_WRN("Util::shutdownWebSocket: Exception: " << exc.displayText() <<
-(exc.nested() ? " (" + exc.nested()->displayText() + ")" : 
""));
-}
-}
-
 ssize_t writeToPipe(int pipe, const char* buffer, ssize_t size)
 {
 ssize_t count = 0;
diff --git a/common/IoUtil.hpp b/common/IoUtil.hpp
index 6a81f19..416607b 100644
--- a/common/IoUtil.hpp
+++ b/common/IoUtil.hpp
@@ -27,10 +27,6 @@ namespace IoUtil
  const std::function& closeFrame,
  const std::function& stopPredicate);
 
-/// Call LOOLWebSocket::shutdown() ignoring Poco::IOException.
-/// TODO: consider moving this directly to LOOLWebSocket
-void shutdownWebSocket(const std::shared_ptr& ws);
-
 ssize_t writeToPipe(int pipe, const char* buffer, ssize_t size);
 inline ssize_t writeToPipe(int pipe, const std::string& message)
 {
diff --git a/common/Session.cpp b/common/Session.cpp
index c409a57..75b5e4b 100644
--- a/common/Session.cpp
+++ b/common/Session.cpp
@@ -176,25 +176,17 @@ void Session::parseDocOptions(const StringTokenizer& 
tokens, int& part, std::str
 
 void Session::disconnect()
 {
-try
-{
-if (!_disconnected)
-{
-_disconnected = true;
-IoUtil::shutdownWebSocket(_ws);
-}
-}
-catch (const IOException& exc)
+if (!_disconnected)
 {
-LOG_ERR("Session::disconnect: Exception: " << exc.displayText() <<
-(exc.nested() ? " (" + exc.nested()->displayText() + ")" : 
""));
+_disconnected = true;
+shutdown();
 }
 }
 
 bool Session::handleDisconnect()
 {
 _disconnected = true;
-IoUtil::shutdownWebSocket(_ws);
+shutdown();
 return false;
 }
 
@@ -202,16 +194,9 @@ void Session::shutdown(Poco::UInt16 statusCode, const 
std::string& statusMessage
 {
 if (_ws)
 {
-try
-{
-LOG_TRC("Shutting down WS [" << getName() << "] with statusCode [" 
<< statusCode << "] and reason [" << statusMessage << "].");
-_ws->shutdown(statusCode, statusMessage);
-}
-catch (const Poco::Exception )
-{
-LOG_WRN("Session::shutdown LOOLWebSocket: Exception: " <<
-exc.displayText() << (exc.nested() ? " (" + 
exc.nested()->displayText() + ")" : ""));
-}
+LOG_TRC("Shutting down WS [" << getName() << "] with statusCode [" <<
+statusCode << "] and reason [" << statusMessage << "].");
+_ws->shutdown(statusCode, statusMessage);
 }
 }
 
diff --git a/common/Session.hpp b/common/Session.hpp
index 8277c5e..d5fe524 100644
--- a/common/Session.hpp
+++ b/common/Session.hpp
@@ -51,7 +51,8 @@ public:
 /// Called to handle disconnection command from socket.
 virtual bool handleDisconnect();
 
-void shutdown(Poco::UInt16 statusCode, const std::string& statusMessage = 
"");
+void shutdown(Poco::UInt16 statusCode = 
Poco::Net::WebSocket::StatusCodes::WS_NORMAL_CLOSE,
+  const std::string& statusMessage = "");
 
 bool isActive() const { return _isActive; }
 void setIsActive(bool active) { _isActive = active; }
diff --git a/wsd/DocumentBroker.hpp b/wsd/DocumentBroker.hpp
index 0c2457a..27c4916 100644
--- a/wsd/DocumentBroker.hpp
+++ b/wsd/DocumentBroker.hpp
@@ -92,7 +92,12 @@ public:
 {
 LOG_DBG("Closing 

[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   28 ++--
 1 file changed, 18 insertions(+), 10 deletions(-)

New commits:
commit be5659d534f6ef0cea61cecaa4649a0baed89f3d
Author: Ashod Nakashian 
Date:   Fri Jan 13 22:22:39 2017 -0500

wsd: simplify preforking of children

Forkit always spawns a single child.
This is done to validate that forking
children is working and to be ready to
serve clients.

However, this initial forking can be slow,
mostly due to cold file reading and loading.
This often causes multiple child spawning
and other undesirable effects.

This patch makes sure that a single child
is always at the ready before proceeding
while simplifying the code. Otherwise, if
forkit fails to fork a single child within
4x an expected command-timeout (currently 5
seconds) then we fail the service altogether.

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 7db7e02..7d0bb9f 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -357,7 +357,7 @@ static bool cleanupChildren()
 /// Decides how many children need spawning and spanws.
 /// When force is true, no check of elapsed time since last request is done.
 /// Returns true only if at least one child was requested to spawn.
-static bool rebalanceChildren(int balance, const bool force)
+static bool rebalanceChildren(int balance)
 {
 Util::assertIsLocked(DocBrokersMutex);
 Util::assertIsLocked(NewChildrenMutex);
@@ -378,7 +378,7 @@ static bool rebalanceChildren(int balance, const bool force)
 balance -= available;
 balance -= OutstandingForks;
 
-if (balance > 0 && (force || rebalance || OutstandingForks == 0))
+if (balance > 0 && (rebalance || OutstandingForks == 0))
 {
 LOG_DBG("prespawnChildren: Have " << available << " spare " <<
 (available == 1 ? "child" : "children") <<
@@ -398,18 +398,26 @@ static void preForkChildren()
 int numPreSpawn = LOOLWSD::NumPreSpawnedChildren;
 UnitWSD::get().preSpawnCount(numPreSpawn);
 
---numPreSpawn; // ForKit always spawns one child at startup.
-rebalanceChildren(numPreSpawn, true); // Force on startup.
-
 // Wait until we have at least one child.
-const auto timeout = std::chrono::milliseconds(CHILD_TIMEOUT_MS);
+const auto timeout = std::chrono::milliseconds(CHILD_TIMEOUT_MS * 3);
 NewChildrenCV.wait_for(lock, timeout, []() { return !NewChildren.empty(); 
});
+
+// Now spawn more, as needed.
+rebalanceChildren(numPreSpawn);
+
+// Make sure we have at least one before moving forward.
+if (!NewChildrenCV.wait_for(lock, timeout, []() { return 
!NewChildren.empty(); }))
+{
+const auto msg = "Failed to fork child processes.";
+LOG_FTL(msg);
+throw std::runtime_error(msg);
+}
 }
 
 /// Proactively spawn children processes
 /// to load documents with alacrity.
 /// Returns true only if at least one child was requested to spawn.
-static bool prespawnChildren(const bool force)
+static bool prespawnChildren()
 {
 // First remove dead DocBrokers, if possible.
 std::unique_lock docBrokersLock(DocBrokersMutex, 
std::defer_lock);
@@ -429,7 +437,7 @@ static bool prespawnChildren(const bool force)
 }
 
 const int numPreSpawn = LOOLWSD::NumPreSpawnedChildren;
-return rebalanceChildren(numPreSpawn, force);
+return rebalanceChildren(numPreSpawn);
 }
 
 static size_t addNewChild(const std::shared_ptr& child)
@@ -459,7 +467,7 @@ static std::shared_ptr getNewChild()
 LOG_DBG("getNewChild: Rebalancing children.");
 int numPreSpawn = LOOLWSD::NumPreSpawnedChildren;
 ++numPreSpawn; // Replace the one we'll dispatch just now.
-rebalanceChildren(numPreSpawn, false);
+rebalanceChildren(numPreSpawn);
 
 const auto timeout = chrono::milliseconds(CHILD_TIMEOUT_MS);
 if (NewChildrenCV.wait_for(lock, timeout, []() { return 
!NewChildren.empty(); }))
@@ -2302,7 +2310,7 @@ int LOOLWSD::main(const std::vector& 
/*args*/)
 else // pid == 0, no children have died
 {
 // Make sure we have sufficient reserves.
-if (prespawnChildren(false))
+if (prespawnChildren())
 {
 // Nothing more to do this round.
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/ClientSession.cpp wsd/ClientSession.hpp wsd/DocumentBroker.cpp wsd/PrisonerSession.cpp wsd/PrisonerSession.hpp

2017-01-15 Thread Ashod Nakashian
 wsd/ClientSession.cpp   |   11 ++-
 wsd/ClientSession.hpp   |4 
 wsd/DocumentBroker.cpp  |1 +
 wsd/PrisonerSession.cpp |4 +++-
 wsd/PrisonerSession.hpp |4 
 5 files changed, 22 insertions(+), 2 deletions(-)

New commits:
commit 05620be4c5d0369d160ac79f4eaee00013229324
Author: Ashod Nakashian 
Date:   Wed Jan 11 16:45:14 2017 -0500

wsd: autosave on disconnecting based on loaded sessions only

When a client disconnects, we autosave only when there
are no other sessions. The idea being that it'd be
wasteful to save on every client disconnect, so long
that we have a later chance of saving.

This doesn't hold, however, when the only other
remaining session is one that had just connected
and hasn't loaded a view yet. WSD wouldn't
know about this, but when unloading the
disconnecting session, Kit will exit the process
as the last view is gone, losing all unsaved changes.

This patch tracks the sessions in WSD that have
loaded a view and takes that into account when
deciding to autosave on disconnect or not, thereby
fixing this corner case that may result in data loss.

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

diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp
index 9715f32..f24a525 100644
--- a/wsd/ClientSession.cpp
+++ b/wsd/ClientSession.cpp
@@ -38,6 +38,7 @@ ClientSession::ClientSession(const std::string& id,
 _isReadOnly(readOnly),
 _isDocumentOwner(false),
 _loadPart(-1),
+_isLoadRequested(false),
 _stop(false)
 {
 LOG_INF("ClientSession ctor [" << getName() << "].");
@@ -57,7 +58,11 @@ ClientSession::~ClientSession()
 {
 _senderThread.join();
 }
+}
 
+bool ClientSession::isLoaded() const
+{
+return _isLoadRequested && _peer && _peer->gotStatus();
 }
 
 void ClientSession::bridgePrisonerSession()
@@ -279,7 +284,11 @@ bool ClientSession::loadDocument(const char* /*buffer*/, 
int /*length*/, StringT
 oss << " options=" << _docOptions;
 
 const auto loadRequest = oss.str();
-return forwardToChild(loadRequest, docBroker);
+if (forwardToChild(loadRequest, docBroker))
+{
+_isLoadRequested = true;
+return true;
+}
 }
 catch (const Poco::SyntaxException&)
 {
diff --git a/wsd/ClientSession.hpp b/wsd/ClientSession.hpp
index 7952029..c946a94 100644
--- a/wsd/ClientSession.hpp
+++ b/wsd/ClientSession.hpp
@@ -35,6 +35,8 @@ public:
 void setReadOnly();
 bool isReadOnly() const { return _isReadOnly; }
 
+bool isLoaded() const;
+
 /// Create and connect Prisoner Session between DocumentBroker and us.
 void bridgePrisonerSession();
 std::shared_ptr getPeer() const { return _peer; }
@@ -147,6 +149,8 @@ private:
 
 int _loadPart;
 
+bool _isLoadRequested;
+
 /// Wopi FileInfo object
 std::unique_ptr _wopiFileInfo;
 
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 7d7bfee..f1db30b 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -949,6 +949,7 @@ bool DocumentBroker::startDestroy(const std::string& id)
 for (const auto& it : _sessions)
 {
 if (it.second->getId() != id &&
+it.second->isLoaded() &&
 !it.second->isReadOnly())
 {
 // Found another editable.
diff --git a/wsd/PrisonerSession.cpp b/wsd/PrisonerSession.cpp
index 1848413..16cb760 100644
--- a/wsd/PrisonerSession.cpp
+++ b/wsd/PrisonerSession.cpp
@@ -37,7 +37,8 @@ 
PrisonerSession::PrisonerSession(std::shared_ptr clientSession,
 Session("ToPrisoner-" + clientSession->getId(), clientSession->getId(), 
nullptr),
 _docBroker(std::move(docBroker)),
 _peer(clientSession),
-_curPart(0)
+_curPart(0),
+_gotStatus(false)
 {
 LOG_INF("PrisonerSession ctor [" << getName() << "].");
 }
@@ -170,6 +171,7 @@ bool PrisonerSession::_handleInput(const char *buffer, int 
length)
 }
 else if (tokens[0] == "status:")
 {
+_gotStatus = true;
 _docBroker->setLoaded();
 
 // Forward the status response to the client.
diff --git a/wsd/PrisonerSession.hpp b/wsd/PrisonerSession.hpp
index 4085fb3..5a333a2 100644
--- a/wsd/PrisonerSession.hpp
+++ b/wsd/PrisonerSession.hpp
@@ -27,6 +27,9 @@ public:
 
 virtual ~PrisonerSession();
 
+/// Returns true if we've got status message.
+bool gotStatus() const { return _gotStatus; }
+
 private:
 /// Handle messages from the Kit to the client.
 virtual bool _handleInput(const char* buffer, int length) override;
@@ -38,6 +41,7 @@ private:
 std::shared_ptr _docBroker;
 std::weak_ptr _peer;
 int _curPart;
+bool _gotStatus;
 };
 

[Libreoffice-commits] online.git: wsd/DocumentBroker.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/DocumentBroker.cpp |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit bc36241d895f4451f0ff95fe889f81e9d5fabebb
Author: Ashod Nakashian 
Date:   Fri Jan 13 18:10:10 2017 -0500

wsd: cosmetics

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

diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index f1db30b..e532fb5 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -596,9 +596,6 @@ size_t 
DocumentBroker::addSession(std::shared_ptr& session)
 {
 Util::assertIsLocked(_mutex);
 
-const auto id = session->getId();
-const std::string aMessage = "session " + id + " " + _docKey;
-
 try
 {
 // First load the document, since this can fail.
@@ -626,6 +623,7 @@ size_t 
DocumentBroker::addSession(std::shared_ptr& session)
 _lastEditableSession = false;
 _markToDestroy = false;
 
+const auto id = session->getId();
 if (!_sessions.emplace(id, session).second)
 {
 LOG_WRN("DocumentBroker: Trying to add already existing session.");
@@ -634,6 +632,7 @@ size_t 
DocumentBroker::addSession(std::shared_ptr& session)
 const auto count = _sessions.size();
 
 // Request a new session from the child kit.
+const std::string aMessage = "session " + id + ' ' + _docKey;
 _childProcess->sendTextFrame(aMessage);
 
 // Now we are ready to bridge between the kit and client.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   73 +++-
 1 file changed, 36 insertions(+), 37 deletions(-)

New commits:
commit a31e606a98daf5b03e9fbd85484b4d269322fbed
Author: Ashod Nakashian 
Date:   Tue Jan 10 00:38:16 2017 -0500

wsd: retry loading DocumentBroker and adding session

In some cases when the last session is destroying
and we expect the DocumentBroker to be removed,
while waiting for autosave, a new client might
connect to the very same document.

In those cases we shouldn't fail but should retry
loading the document again once it has been unloaded.

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 889b817..7db7e02 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -832,31 +832,42 @@ private:
 }
 }
 
-auto docBroker = findOrCreateDocBroker(docKey, ws, id, uriPublic);
-if (docBroker)
+int retry = 3;
+while (retry-- > 0)
 {
-auto session = createNewClientSession(uri, ws, id, uriPublic, 
docBroker, isReadOnly);
-if (session)
+auto docBroker = findOrCreateDocBroker(docKey, ws, id, 
uriPublic);
+if (docBroker)
 {
-// Process the request in an exception-safe way.
-processGetRequest(uri, ws, id, docBroker, session);
+auto session = createNewClientSession(uri, ws, id, 
uriPublic, docBroker, isReadOnly);
+if (session)
+{
+// Process the request in an exception-safe way.
+processGetRequest(uri, ws, id, docBroker, session);
+break;
+}
+}
+
+if (retry > 0)
+{
+LOG_WRN("Failed to connect DocBroker and Client Session, 
retrying.");
+}
+else
+{
+const std::string msg = SERVICE_UNAVAILABLE_INTERNAL_ERROR;
+LOG_ERR("handleGetRequest: Giving up trying to connect 
client: " << msg);
+try
+{
+ws->sendFrame(msg.data(), msg.size());
+// abnormal close frame handshake
+ws->shutdown(WebSocket::WS_ENDPOINT_GOING_AWAY);
+}
+catch (const std::exception& exc2)
+{
+LOG_ERR("handleGetRequest: exception while sending WS 
error message [" << msg << "]: " << exc2.what());
+}
+
+break;
 }
-}
-}
-catch (const WebSocketErrorMessageException& exc)
-{
-// Internal error that should be passed on to the client.
-const auto msg = exc.toString();
-LOG_ERR("handleGetRequest: WebSocketErrorMessageException: " << 
msg);
-try
-{
-ws->sendFrame(msg.data(), msg.size());
-// abnormal close frame handshake
-ws->shutdown(WebSocket::WS_ENDPOINT_GOING_AWAY);
-}
-catch (const std::exception& exc2)
-{
-LOG_ERR("handleGetRequest: exception while sending WS error 
message [" << msg << "]: " << exc2.what());
 }
 }
 catch (const std::exception& exc)
@@ -980,16 +991,6 @@ private:
 docBroker = createNewDocBroker(docKey, ws, uriPublic);
 }
 
-// Validate the broker.
-if (!docBroker || !docBroker->isAlive())
-{
-LOG_ERR("DocBroker is invalid or premature termination of child "
-"process. Service Unavailable.");
-DocBrokers.erase(docKey);
-
-throw 
WebSocketErrorMessageException(SERVICE_UNAVAILABLE_INTERNAL_ERROR);
-}
-
 return docBroker;
 }
 
@@ -1013,7 +1014,7 @@ private:
 {
 // Let the client know we can't serve now.
 LOG_ERR("Failed to get new child. Service Unavailable.");
-throw 
WebSocketErrorMessageException(SERVICE_UNAVAILABLE_INTERNAL_ERROR);
+return nullptr;
 }
 
 // Set the one we just created.
@@ -1042,6 +1043,7 @@ private:
 if (!docBroker->isAlive())
 {
 LOG_ERR("DocBroker is invalid or premature termination of 
child process.");
+lock.unlock();
 removeDocBrokerSession(docBroker);
 return nullptr;
 }
@@ -1049,6 +1051,7 @@ private:
 if 

[Libreoffice-commits] online.git: wsd/DocumentBroker.cpp wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/DocumentBroker.cpp |4 ++--
 wsd/LOOLWSD.cpp|2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

New commits:
commit 1c67d9387f026b0da814b4e3422bf42185cdcfa3
Author: Ashod Nakashian 
Date:   Tue Jan 10 17:10:10 2017 -0500

wsd: addSession now must be called under lock

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

diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 4348e86..7d7bfee 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -594,11 +594,11 @@ std::string DocumentBroker::getJailRoot() const
 
 size_t DocumentBroker::addSession(std::shared_ptr& session)
 {
+Util::assertIsLocked(_mutex);
+
 const auto id = session->getId();
 const std::string aMessage = "session " + id + " " + _docKey;
 
-std::unique_lock lock(_mutex);
-
 try
 {
 // First load the document, since this can fail.
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index ca03df2..889b817 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -608,7 +608,9 @@ private:
 std::shared_ptr ws;
 auto session = std::make_shared(id, ws, 
docBroker, uriPublic);
 
+auto lock = docBroker->getLock();
 auto sessionsCount = docBroker->addSession(session);
+lock.unlock();
 LOG_TRC(docKey << ", ws_sessions++: " << sessionsCount);
 
 docBrokersLock.unlock();
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/DocumentBroker.cpp wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/DocumentBroker.cpp |2 +
 wsd/LOOLWSD.cpp|   53 +++--
 2 files changed, 14 insertions(+), 41 deletions(-)

New commits:
commit 087f9930402c49d2f26bfab6ce1bb10012e33faa
Author: Ashod Nakashian 
Date:   Tue Jan 10 00:26:24 2017 -0500

wsd: use refactored createNewClientSession

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

diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index cb20b14..4348e86 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -960,6 +960,8 @@ bool DocumentBroker::startDestroy(const std::string& id)
 
 // Last view going away, can destroy.
 _markToDestroy = (_sessions.size() <= 1);
+LOG_DBG("startDestroy on session [" << id << "] on docKey [" << _docKey <<
+"], markToDestroy: " << _markToDestroy << ", lastEditableSession: 
" << _lastEditableSession);
 return _lastEditableSession;
 }
 
diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 5cc6b2c..ca03df2 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -833,8 +833,12 @@ private:
 auto docBroker = findOrCreateDocBroker(docKey, ws, id, uriPublic);
 if (docBroker)
 {
-// Process the request in an exception-safe way.
-processGetRequest(uri, ws, id, uriPublic, docBroker, 
isReadOnly);
+auto session = createNewClientSession(uri, ws, id, uriPublic, 
docBroker, isReadOnly);
+if (session)
+{
+// Process the request in an exception-safe way.
+processGetRequest(uri, ws, id, docBroker, session);
+}
 }
 }
 catch (const WebSocketErrorMessageException& exc)
@@ -1105,47 +1109,14 @@ private:
 }
 
 /// Process GET requests.
-static void processGetRequest(const std::string& uri, 
std::shared_ptr& ws, const std::string& id,
-  const Poco::URI& uriPublic, const 
std::shared_ptr& docBroker, const bool isReadOnly)
+static void processGetRequest(const std::string& uri,
+  std::shared_ptr& ws,
+  const std::string& id,
+  const std::shared_ptr& 
docBroker,
+  const std::shared_ptr& 
session)
 {
 LOG_CHECK_RET(docBroker && "Null docBroker instance", );
 const auto docKey = docBroker->getDocKey();
-
-std::shared_ptr session;
-try
-{
-// In case of WOPI, if this session is not set as readonly, it 
might be set so
-// later after making a call to WOPI host which tells us the 
permission on files
-// (UserCanWrite param).
-session = std::make_shared(id, ws, docBroker, 
uriPublic, isReadOnly);
-
-// Now we have a DocumentBroker and we're ready to process client 
commands.
-const std::string statusReady = "statusindicator: ready";
-LOG_TRC("Sending to Client [" << statusReady << "].");
-ws->sendFrame(statusReady.data(), statusReady.size());
-
-const std::string fs = 
FileUtil::checkDiskSpaceOnRegisteredFileSystems();
-if (!fs.empty())
-{
-LOG_WRN("File system of [" << fs << "] is dangerously low on 
disk space.");
-const std::string diskfullMsg = "error: cmd=internal 
kind=diskfull";
-// Alert the session currently being opened
-ws->sendFrame(diskfullMsg.data(), diskfullMsg.size());
-// Alert all other existing sessions also
-Util::alertAllUsers(diskfullMsg);
-}
-
-LOOLWSD::dumpEventTrace(docBroker->getJailId(), id, "NewSession: " 
+ uri);
-docBroker->addSession(session);
-}
-catch (const std::exception& exc)
-{
-LOG_WRN("Exception while preparing session [" << id << "].");
-removeDocBrokerSession(docBroker, id);
-
-return;
-}
-
 LOG_CHECK_RET(session && "Null ClientSession instance", );
 try
 {
@@ -1159,7 +1130,7 @@ private:
 []() { return TerminationFlag || SigUtil::isShuttingDown(); });
 
 // Connection terminated. Destroy session.
-LOG_DBG("Client session [" << id << "] terminated. Cleaning up.");
+LOG_DBG("Client session [" << id << "] on docKey [" << docKey << 
"] terminated. Cleaning up.");
 
 auto docLock = docBroker->getLock();
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org

[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   66 ++--
 1 file changed, 64 insertions(+), 2 deletions(-)

New commits:
commit 296d25d24c9d772b47e2896444eef948bf59c2a5
Author: Ashod Nakashian 
Date:   Mon Jan 9 23:48:22 2017 -0500

wsd: refactor create new client session

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 4809bf8..5cc6b2c 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1020,6 +1020,68 @@ private:
 return docBroker;
 }
 
+static std::shared_ptr createNewClientSession(const 
std::string& uri,
+ 
std::shared_ptr& ws,
+ const 
std::string& id,
+ const 
Poco::URI& uriPublic,
+ const 
std::shared_ptr& docBroker,
+ const bool 
isReadOnly)
+{
+LOG_CHECK_RET(docBroker && "Null docBroker instance", nullptr);
+try
+{
+auto lock = docBroker->getLock();
+
+// Validate the broker.
+if (!docBroker->isAlive())
+{
+LOG_ERR("DocBroker is invalid or premature termination of 
child process.");
+removeDocBrokerSession(docBroker);
+return nullptr;
+}
+
+if (docBroker->isMarkedToDestroy())
+{
+LOG_ERR("DocBroker is marked to destroy, can't add session.");
+removeDocBrokerSession(docBroker);
+return nullptr;
+}
+
+// Now we have a DocumentBroker and we're ready to process client 
commands.
+const std::string statusReady = "statusindicator: ready";
+LOG_TRC("Sending to Client [" << statusReady << "].");
+ws->sendFrame(statusReady.data(), statusReady.size());
+
+// In case of WOPI, if this session is not set as readonly, it 
might be set so
+// later after making a call to WOPI host which tells us the 
permission on files
+// (UserCanWrite param).
+auto session = std::make_shared(id, ws, docBroker, 
uriPublic, isReadOnly);
+
+LOOLWSD::dumpEventTrace(docBroker->getJailId(), id, "NewSession: " 
+ uri);
+docBroker->addSession(session);
+
+lock.unlock();
+
+const std::string fs = 
FileUtil::checkDiskSpaceOnRegisteredFileSystems();
+if (!fs.empty())
+{
+LOG_WRN("File system of [" << fs << "] is dangerously low on 
disk space.");
+const std::string diskfullMsg = "error: cmd=internal 
kind=diskfull";
+// Alert all other existing sessions also
+Util::alertAllUsers(diskfullMsg);
+}
+
+return session;
+}
+catch (const std::exception& exc)
+{
+LOG_WRN("Exception while preparing session [" << id << "]: " << 
exc.what());
+removeDocBrokerSession(docBroker, id);
+}
+
+return nullptr;
+}
+
 /// Remove DocumentBroker session and instance from DocBrokers.
 static void removeDocBrokerSession(const std::shared_ptr& 
docBroker, const std::string& id = "")
 {
@@ -1030,7 +1092,7 @@ private:
 
 if (!id.empty())
 {
- docBroker->removeSession(id);
+docBroker->removeSession(id);
 }
 
 if (docBroker->getSessionsCount() == 0 || !docBroker->isAlive())
@@ -1039,7 +1101,7 @@ private:
 LOG_INF("Removing unloaded DocumentBroker for docKey [" << docKey 
<< "].");
 DocBrokers.erase(docKey);
 docBroker->terminateChild(lock);
- }
+}
 }
 
 /// Process GET requests.
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   57 +---
 1 file changed, 34 insertions(+), 23 deletions(-)

New commits:
commit a06c23e18ab572dfc701188a13576f38e1933c28
Author: Ashod Nakashian 
Date:   Mon Jan 9 23:39:57 2017 -0500

wsd: refactor create new DocBroker

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 4081966..7fda19e 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -971,29 +971,7 @@ private:
 
 if (!docBroker)
 {
-static_assert(MAX_DOCUMENTS > 0, "MAX_DOCUMENTS must be positive");
-if (DocBrokers.size() + 1 > MAX_DOCUMENTS)
-{
-LOG_ERR("Maximum number of open documents reached.");
-shutdownLimitReached(*ws);
-return nullptr;
-}
-
-// Request a kit process for this doc.
-auto child = getNewChild();
-if (!child)
-{
-// Let the client know we can't serve now.
-LOG_ERR("Failed to get new child. Service Unavailable.");
-throw 
WebSocketErrorMessageException(SERVICE_UNAVAILABLE_INTERNAL_ERROR);
-}
-
-// Set the one we just created.
-LOG_DBG("New DocumentBroker for docKey [" << docKey << "].");
-docBroker = std::make_shared(uriPublic, docKey, 
LOOLWSD::ChildRoot, child);
-child->setDocumentBroker(docBroker);
-DocBrokers.emplace(docKey, docBroker);
-LOG_TRC("Have " << DocBrokers.size() << " DocBrokers after 
inserting [" << docKey << "].");
+docBroker = createNewDocBroker(docKey, ws, uriPublic);
 }
 
 // Validate the broker.
@@ -1009,6 +987,39 @@ private:
 return docBroker;
 }
 
+static std::shared_ptr createNewDocBroker(const 
std::string& docKey,
+  
std::shared_ptr& ws,
+  const Poco::URI& 
uriPublic)
+{
+Util::assertIsLocked(DocBrokersMutex);
+
+static_assert(MAX_DOCUMENTS > 0, "MAX_DOCUMENTS must be positive");
+if (DocBrokers.size() + 1 > MAX_DOCUMENTS)
+{
+LOG_ERR("Maximum number of open documents reached.");
+shutdownLimitReached(*ws);
+return nullptr;
+}
+
+// Request a kit process for this doc.
+auto child = getNewChild();
+if (!child)
+{
+// Let the client know we can't serve now.
+LOG_ERR("Failed to get new child. Service Unavailable.");
+throw 
WebSocketErrorMessageException(SERVICE_UNAVAILABLE_INTERNAL_ERROR);
+}
+
+// Set the one we just created.
+LOG_DBG("New DocumentBroker for docKey [" << docKey << "].");
+auto docBroker = std::make_shared(uriPublic, docKey, 
LOOLWSD::ChildRoot, child);
+child->setDocumentBroker(docBroker);
+DocBrokers.emplace(docKey, docBroker);
+LOG_TRC("Have " << DocBrokers.size() << " DocBrokers after inserting 
[" << docKey << "].");
+
+return docBroker;
+}
+
 /// Process GET requests.
 static void processGetRequest(const std::string& uri, 
std::shared_ptr& ws, const std::string& id,
   const Poco::URI& uriPublic, const 
std::shared_ptr& docBroker, const bool isReadOnly)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   47 +--
 1 file changed, 25 insertions(+), 22 deletions(-)

New commits:
commit fa795d8c9bf0d3ccb65462714fb0121c231df249
Author: Ashod Nakashian 
Date:   Mon Jan 9 23:55:56 2017 -0500

wsd: refactor DocBroker session removal and cleanup

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 7fda19e..4809bf8 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -1020,6 +1020,28 @@ private:
 return docBroker;
 }
 
+/// Remove DocumentBroker session and instance from DocBrokers.
+static void removeDocBrokerSession(const std::shared_ptr& 
docBroker, const std::string& id = "")
+{
+LOG_CHECK_RET(docBroker && "Null docBroker instance", );
+
+std::unique_lock docBrokersLock(DocBrokersMutex);
+auto lock = docBroker->getLock();
+
+if (!id.empty())
+{
+ docBroker->removeSession(id);
+}
+
+if (docBroker->getSessionsCount() == 0 || !docBroker->isAlive())
+{
+const auto docKey = docBroker->getDocKey();
+LOG_INF("Removing unloaded DocumentBroker for docKey [" << docKey 
<< "].");
+DocBrokers.erase(docKey);
+docBroker->terminateChild(lock);
+ }
+}
+
 /// Process GET requests.
 static void processGetRequest(const std::string& uri, 
std::shared_ptr& ws, const std::string& id,
   const Poco::URI& uriPublic, const 
std::shared_ptr& docBroker, const bool isReadOnly)
@@ -1057,16 +1079,7 @@ private:
 catch (const std::exception& exc)
 {
 LOG_WRN("Exception while preparing session [" << id << "].");
-
-std::unique_lock docBrokersLock(DocBrokersMutex);
-auto lock = docBroker->getLock();
-docBroker->removeSession(id);
-if (docBroker->getSessionsCount() == 0 || !docBroker->isAlive())
-{
-LOG_INF("Removing unloaded DocumentBroker for docKey [" << 
docKey << "].");
-DocBrokers.erase(docKey);
-docBroker->terminateChild(lock);
-}
+removeDocBrokerSession(docBroker, id);
 
 return;
 }
@@ -1107,18 +1120,8 @@ private:
 
 if (sessionsCount == 0)
 {
-// We've supposedly destroyed the last session and can do away 
with
-// DocBroker. But first we need to take both locks in the 
correct
-// order and check again. We can't take the DocBrokersMutex 
while
-// holding the docBroker lock as that can deadlock with 
autoSave below.
-std::unique_lock docBrokersLock(DocBrokersMutex);
-auto lock = docBroker->getLock();
-if (docBroker->getSessionsCount() == 0 || 
!docBroker->isAlive())
-{
-LOG_INF("Removing unloaded DocumentBroker for docKey [" << 
docKey << "].");
-DocBrokers.erase(docKey);
-docBroker->terminateChild(lock);
-}
+// We've supposedly destroyed the last session, now cleanup.
+removeDocBrokerSession(docBroker);
 }
 
 LOOLWSD::dumpEventTrace(docBroker->getJailId(), id, "EndSession: " 
+ uri);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: test/httpcrashtest.cpp

2017-01-15 Thread Ashod Nakashian
 test/httpcrashtest.cpp |   20 ++--
 1 file changed, 6 insertions(+), 14 deletions(-)

New commits:
commit 2be0d16e7bd44ed603740ec432847f0f2448af40
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:17:19 2017 -0500

wsd: improved crash kit test

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

diff --git a/test/httpcrashtest.cpp b/test/httpcrashtest.cpp
index 16105a7..f34c214 100644
--- a/test/httpcrashtest.cpp
+++ b/test/httpcrashtest.cpp
@@ -140,25 +140,17 @@ void HTTPCrashTest::testCrashKit()
 // Drain the socket.
 getResponseMessage(socket, "", testname, 1000);
 
-// 5 seconds timeout
-socket->setReceiveTimeout(500);
-
-// receive close frame handshake
-int bytes;
-int flags;
-char buffer[READ_BUFFER_SIZE];
-do
-{
-bytes = socket->receiveFrame(buffer, sizeof(buffer), flags);
-std::cerr << testname << "Got " << 
LOOLProtocol::getAbbreviatedFrameDump(buffer, bytes, flags) << std::endl;
-}
-while ((flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE);
+std::string message;
+const auto statusCode = getErrorCode(socket, message, testname);
+
CPPUNIT_ASSERT_EQUAL(static_cast(Poco::Net::WebSocket::WS_ENDPOINT_GOING_AWAY),
 statusCode);
 
 // respond close frame
 socket->shutdown();
 
 // no more messages is received.
-bytes = socket->receiveFrame(buffer, sizeof(buffer), flags);
+int flags;
+char buffer[READ_BUFFER_SIZE];
+const int bytes = socket->receiveFrame(buffer, sizeof(buffer), flags);
 std::cerr << testname << "Got " << 
LOOLProtocol::getAbbreviatedFrameDump(buffer, bytes, flags) << std::endl;
 
 // While we expect no more messages after shutdown call, apparently
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: common/Util.cpp wsd/AdminModel.cpp

2017-01-15 Thread Ashod Nakashian
 common/Util.cpp|7 ++-
 wsd/AdminModel.cpp |8 ++--
 2 files changed, 8 insertions(+), 7 deletions(-)

New commits:
commit b8160c1c1a6534857310c3e0119f1f38af22c30e
Author: Ashod Nakashian 
Date:   Sun Jan 15 13:32:07 2017 -0500

wsd: return 0 when fail to proc get memory

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

diff --git a/common/Util.cpp b/common/Util.cpp
index d3181da..48c0acf 100644
--- a/common/Util.cpp
+++ b/common/Util.cpp
@@ -127,6 +127,11 @@ namespace Util
 
 int getMemoryUsage(const Poco::Process::PID pid)
 {
+if (pid == -1)
+{
+return 0;
+}
+
 try
 {
 //TODO: Instead of RSS, return PSS
@@ -152,7 +157,7 @@ namespace Util
 LOG_WRN("Trying to find memory of invalid/dead PID " << pid);
 }
 
-return -1;
+return 0;
 }
 
 std::string replace(const std::string& s, const std::string& a, const 
std::string& b)
diff --git a/wsd/AdminModel.cpp b/wsd/AdminModel.cpp
index 680c647..5f61175 100644
--- a/wsd/AdminModel.cpp
+++ b/wsd/AdminModel.cpp
@@ -132,15 +132,11 @@ std::string AdminModel::query(const std::string& command)
 unsigned AdminModel::getTotalMemoryUsage()
 {
 unsigned totalMem = 0;
-for (auto& it: _documents)
+for (const auto& it : _documents)
 {
 if (!it.second.isExpired())
 {
-const int mem = Util::getMemoryUsage(it.second.getPid());
-if (mem > 0)
-{
-totalMem += mem;
-}
+totalMem += Util::getMemoryUsage(it.second.getPid());
 }
 }
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: test/helpers.hpp test/httpwserror.cpp

2017-01-15 Thread Ashod Nakashian
 test/helpers.hpp |   12 ++--
 test/httpwserror.cpp |4 ++--
 2 files changed, 8 insertions(+), 8 deletions(-)

New commits:
commit 8cbf478bfe2e8b947f42f02b8224d71cd9ef1f6b
Author: Ashod Nakashian 
Date:   Sun Jan 15 12:15:11 2017 -0500

wsd: improved getErrorCode

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

diff --git a/test/helpers.hpp b/test/helpers.hpp
index fce1cfd..4dd8f86 100644
--- a/test/helpers.hpp
+++ b/test/helpers.hpp
@@ -162,7 +162,7 @@ std::string const & getTestServerURI()
 }
 
 inline
-int getErrorCode(LOOLWebSocket& ws, std::string& message)
+int getErrorCode(LOOLWebSocket& ws, std::string& message, const std::string& 
testname = "")
 {
 int flags = 0;
 int bytes = 0;
@@ -170,13 +170,13 @@ int getErrorCode(LOOLWebSocket& ws, std::string& message)
 Poco::Buffer buffer(READ_BUFFER_SIZE);
 
 message.clear();
-Poco::Timespan timeout(500);
-ws.setReceiveTimeout(timeout);
+ws.setReceiveTimeout(Poco::Timespan(500));
 do
 {
 bytes = ws.receiveFrame(buffer.begin(), READ_BUFFER_SIZE, flags);
+std::cerr << testname << "Got " << 
LOOLProtocol::getAbbreviatedFrameDump(buffer.begin(), bytes, flags) << 
std::endl;
 }
-while ((flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE);
+while (bytes > 0 && (flags & Poco::Net::WebSocket::FRAME_OP_BITMASK) != 
Poco::Net::WebSocket::FRAME_OP_CLOSE);
 
 if (bytes > 0)
 {
@@ -189,9 +189,9 @@ int getErrorCode(LOOLWebSocket& ws, std::string& message)
 }
 
 inline
-int getErrorCode(const std::shared_ptr& ws, std::string& 
message)
+int getErrorCode(const std::shared_ptr& ws, std::string& 
message, const std::string& testname = "")
 {
-return getErrorCode(*ws, message);
+return getErrorCode(*ws, message, testname);
 }
 
 inline
diff --git a/test/httpwserror.cpp b/test/httpwserror.cpp
index e624e46..3ed8421 100644
--- a/test/httpwserror.cpp
+++ b/test/httpwserror.cpp
@@ -116,7 +116,7 @@ void HTTPWSError::testMaxDocuments()
 assertResponseString(socket, "error:", testname);
 
 std::string message;
-const auto statusCode = getErrorCode(socket, message);
+const auto statusCode = getErrorCode(socket, message, testname);
 
CPPUNIT_ASSERT_EQUAL(static_cast(Poco::Net::WebSocket::WS_POLICY_VIOLATION),
 statusCode);
 
 socket->shutdown();
@@ -171,7 +171,7 @@ void HTTPWSError::testMaxConnections()
 sendTextFrame(socketN, "load url=" + docURL, testname);
 
 std::string message;
-const auto statusCode = getErrorCode(socketN, message);
+const auto statusCode = getErrorCode(socketN, message, testname);
 
CPPUNIT_ASSERT_EQUAL(static_cast(Poco::Net::WebSocket::WS_POLICY_VIOLATION),
 statusCode);
 
 socketN->shutdown();
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: kit/Kit.cpp

2017-01-15 Thread Ashod Nakashian
 kit/Kit.cpp |5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit e0dcc7a972e1923605b02f9c7a0bd0cadf5aafef
Author: Ashod Nakashian 
Date:   Wed Jan 11 17:06:45 2017 -0500

wsd: retain the Core callback object

Since we have no control over when Core might
use the callback object, we should retain it
indefinetely. This is safer and has no impact.

Because Core uses a timer to flush callbacks,
it can issue the callbacks for a view after
it had been destroyed, thereby segfaulting.

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 13bea18..f28978e 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -962,7 +962,10 @@ private:
 _loKitDocument->destroyView(viewId);
 }
 
- _viewIdToCallbackDescr.erase(viewId);
+// Since callback messages are processed on idle-timer,
+// we could recieve callbacks after destroying a view.
+// Retain the CallbackDescriptor object, which is shared with Core.
+// _viewIdToCallbackDescr.erase(viewId);
 
 viewCount = _loKitDocument->getViewsCount();
 LOG_INF("Document [" << _url << "] session [" <<
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: 2 commits - kit/Kit.cpp test/httpwstest.cpp wsd/DocumentBroker.cpp

2017-01-15 Thread Ashod Nakashian
 kit/Kit.cpp|   52 -
 test/httpwstest.cpp|5 +++-
 wsd/DocumentBroker.cpp |2 -
 3 files changed, 39 insertions(+), 20 deletions(-)

New commits:
commit 6bcd793a8b2179e36b11cdadac3541dccd7628ea
Author: Ashod Nakashian 
Date:   Wed Jan 11 17:03:52 2017 -0500

wsd: don't exit Kit process when new sessions exist

When a new session is created in Kit, it means
a new view is about to be created. However if
in the interim the last session closes and
view is destroyed, Kit should not exit.

Instead, we unload the document and
prepare to reload it again.

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 1c30f2c..13bea18 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -940,15 +940,9 @@ private:
 
 _loKitDocument->setView(viewId);
 _loKitDocument->registerCallback(nullptr, nullptr);
-_loKitDocument->destroyView(viewId);
-_viewIdToCallbackDescr.erase(viewId);
 
-const int viewCount = _loKitDocument->getViewsCount();
-LOG_INF("Document [" << _url << "] session [" <<
-sessionId << "] unloaded view [" << viewId << "]. Have " <<
-viewCount << " view" << (viewCount != 1 ? "s." : "."));
-
-if (viewCount <= 0)
+int viewCount = _loKitDocument->getViewsCount();
+if (viewCount == 1)
 {
 std::unique_lock lock(_mutex);
 if (_sessions.empty())
@@ -957,17 +951,35 @@ private:
 std::_Exit(Application::EXIT_OK);
 }
 
+LOG_INF("Document [" << _url << "] has no more views, but has " <<
+_sessions.size() << " sessions still. Destroying the 
document.");
+_loKitDocument.reset();
+LOG_INF("Document [" << _url << "] session [" << sessionId << "] 
unloaded Document.");
 return;
 }
+else
+{
+_loKitDocument->destroyView(viewId);
+}
 
-// Get the list of view ids from the core
-std::vector viewIds(viewCount);
-_loKitDocument->getViewIds(viewIds.data(), viewCount);
+ _viewIdToCallbackDescr.erase(viewId);
 
-lockLokDoc.unlock();
+viewCount = _loKitDocument->getViewsCount();
+LOG_INF("Document [" << _url << "] session [" <<
+sessionId << "] unloaded view [" << viewId << "]. Have " <<
+viewCount << " view" << (viewCount != 1 ? "s." : "."));
 
-// Broadcast updated view info
-notifyViewInfo(viewIds);
+if (viewCount > 0)
+{
+// Get the list of view ids from the core
+std::vector viewIds(viewCount);
+_loKitDocument->getViewIds(viewIds.data(), viewCount);
+
+lockLokDoc.unlock();
+
+// Broadcast updated view info
+notifyViewInfo(viewIds);
+}
 }
 
 std::map getViewInfo() override
@@ -1389,9 +1401,9 @@ private:
 
 if (!isFound)
 {
-LOG_WRN("Document::ViewCallback. The message [" << 
viewId <<
-"] [" << 
LOKitHelper::kitCallbackTypeToString(type) <<
-"] [" << payload << "] is not sent to Master 
Session.");
+LOG_WRN("Document::ViewCallback. Session [" << viewId 
<<
+"] is no longer active to process [" << 
LOKitHelper::kitCallbackTypeToString(type) <<
+"] [" << payload << "] message to Master 
Session.");
 }
 }
 else
commit 0e5a75c46b9533fab5e600e2cab04ddca43dff10
Author: Ashod Nakashian 
Date:   Mon Jan 9 21:35:47 2017 -0500

wsd: exit the kit only when no more sessions exist

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 526aaa2..1c30f2c 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -950,8 +950,14 @@ private:
 
 if (viewCount <= 0)
 {
-LOG_INF("Document [" << _url << "] has no more views, exiting 
bluntly.");
-std::_Exit(Application::EXIT_OK);
+std::unique_lock lock(_mutex);
+if (_sessions.empty())
+{
+LOG_INF("Document [" << _url << "] has no more views, exiting 
bluntly.");
+std::_Exit(Application::EXIT_OK);
+}
+
+return;
 }
 
 // Get the list of 

[Libreoffice-commits] online.git: wsd/LOOLWSD.cpp

2017-01-15 Thread Ashod Nakashian
 wsd/LOOLWSD.cpp |   14 +++---
 1 file changed, 7 insertions(+), 7 deletions(-)

New commits:
commit dcc0dc441eeaf443a4f05cec3d9ba9e189bff918
Author: Ashod Nakashian 
Date:   Tue Jan 10 10:32:16 2017 -0500

wsd: headers and formatting

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

diff --git a/wsd/LOOLWSD.cpp b/wsd/LOOLWSD.cpp
index 7976b97..4081966 100644
--- a/wsd/LOOLWSD.cpp
+++ b/wsd/LOOLWSD.cpp
@@ -103,20 +103,20 @@
 #include "DocumentBroker.hpp"
 #include "Exceptions.hpp"
 #include "FileServer.hpp"
-#include "common/FileUtil.hpp"
 #include "IoUtil.hpp"
-#include "Protocol.hpp"
-#include "Session.hpp"
-#include 
 #include "Log.hpp"
 #include "PrisonerSession.hpp"
+#include "Protocol.hpp"
 #include "QueueHandler.hpp"
+#include "Session.hpp"
 #include "Storage.hpp"
 #include "TraceFile.hpp"
 #include "Unit.hpp"
 #include "UnitHTTP.hpp"
 #include "UserMessages.hpp"
 #include "Util.hpp"
+#include "common/FileUtil.hpp"
+#include 
 
 #include "common/SigUtil.hpp"
 
@@ -172,16 +172,16 @@ int MasterPortNumber = DEFAULT_MASTER_PORT_NUMBER;
 /// New LOK child processes ready to host documents.
 //TODO: Move to a more sensible namespace.
 static bool DisplayVersion = false;
-static std::vector NewChildren;
+static std::vector NewChildren;
 static std::mutex NewChildrenMutex;
 static std::condition_variable NewChildrenCV;
 static std::chrono::steady_clock::time_point LastForkRequestTime = 
std::chrono::steady_clock::now();
 static std::atomic OutstandingForks(1); // Forkit always spawns 1.
-static std::map DocBrokers;
+static std::map DocBrokers;
 static std::mutex DocBrokersMutex;
 
 /// Used when shutting down to notify them all that the server is recycling.
-static std::vector ClientWebSockets;
+static std::vector ClientWebSockets;
 static std::mutex ClientWebSocketsMutex;
 
 #if ENABLE_DEBUG
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: kit/Kit.cpp wsd/DocumentBroker.cpp

2017-01-15 Thread Ashod Nakashian
 kit/Kit.cpp|2 --
 wsd/DocumentBroker.cpp |9 +++--
 2 files changed, 7 insertions(+), 4 deletions(-)

New commits:
commit dea8c03912a10da4b80e12fd71b98e8c5619fee5
Author: Ashod Nakashian 
Date:   Mon Jan 9 13:54:37 2017 -0500

wsd: no need to have the lock when notifying

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

diff --git a/kit/Kit.cpp b/kit/Kit.cpp
index 4aa58ed..526aaa2 100644
--- a/kit/Kit.cpp
+++ b/kit/Kit.cpp
@@ -917,8 +917,6 @@ private:
 return false;
 }
 
-// Retake the lock (technically, not needed).
-lock.lock();
 --_isLoading;
 _cvLoading.notify_one();
 
diff --git a/wsd/DocumentBroker.cpp b/wsd/DocumentBroker.cpp
index 35448fb..e8c08a7 100644
--- a/wsd/DocumentBroker.cpp
+++ b/wsd/DocumentBroker.cpp
@@ -373,6 +373,7 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 {
 LOG_DBG("Save skipped as document [" << _docKey << "] was not 
modified.");
 _lastSaveTime = std::chrono::steady_clock::now();
+lock.unlock();
 _saveCV.notify_all();
 return true;
 }
@@ -381,6 +382,7 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 if (it == _sessions.end())
 {
 LOG_ERR("Session with sessionId [" << sessionId << "] not found while 
saving docKey [" << _docKey << "].");
+lock.unlock();
 _saveCV.notify_all();
 return false;
 }
@@ -388,8 +390,8 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 const Poco::URI& uriPublic = it->second->getPublicUri();
 const auto uri = uriPublic.toString();
 
-// If we aren't destroying the last editable session just yet, and the file
-// timestamp hasn't changed, skip saving.
+// If we aren't destroying the last editable session just yet,
+// and the file timestamp hasn't changed, skip saving.
 const auto newFileModifiedTime = 
Poco::File(_storage->getLocalRootPath()).getLastModified();
 if (!_lastEditableSession && newFileModifiedTime == _lastFileModifiedTime)
 {
@@ -397,6 +399,7 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 LOG_DBG("Skipping unnecessary saving to URI [" << uri << "] with 
docKey [" << _docKey <<
 "]. File last modified " << _lastFileModifiedTime.elapsed() / 
100 << " seconds ago.");
 _lastSaveTime = std::chrono::steady_clock::now();
+lock.unlock();
 _saveCV.notify_all();
 return true;
 }
@@ -435,6 +438,7 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 LOG_DBG("Saved docKey [" << _docKey << "] to URI [" << uri << "] and 
updated tile cache. Document modified timestamp: " <<
 
Poco::DateTimeFormatter::format(Poco::DateTime(_documentLastModifiedTime),

Poco::DateTimeFormat::ISO8601_FORMAT));
+lock.unlock();
 _saveCV.notify_all();
 return true;
 }
@@ -457,6 +461,7 @@ bool DocumentBroker::save(const std::string& sessionId, 
bool success, const std:
 it->second->sendTextFrame("error: cmd=storage kind=savefailed");
 }
 
+lock.unlock();
 _saveCV.notify_all();
 return false;
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'feature/cib_contract57' - bin/symstore.sh Makefile.in

2017-01-15 Thread Thorsten Behrens
Rebased ref, commits from common ancestor:
commit e08d275568aac97fcd0ecd896a1401690de1e078
Author: Thorsten Behrens 
Date:   Sun Jan 15 11:50:27 2017 +0100

gbuild: populate local symstore on Windows

Script based on Lubos' tb master script from
http://nabble.documentfoundation.org/Daily-Win32-debug-builds-td4067279.html

Change-Id: I7f3247367a63078881f3cf51cf3e2cad59ad67b5
Reviewed-on: https://gerrit.libreoffice.org/33088
Reviewed-by: Thorsten Behrens 
Tested-by: Thorsten Behrens 

diff --git a/Makefile.in b/Makefile.in
index 218336f..928deca 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -353,6 +353,7 @@ symbols:
mkdir -p $(WORKDIR)/symbols/
 ifeq ($(OS),WNT)
$(SRCDIR)/bin/symbolstore.py 
$(WORKDIR)/UnpackedTarball/breakpad/src/tools/windows/binaries/dump_syms.exe 
$(WORKDIR)/symbols/ $(INSTDIR)/program/*
+   $(SRCDIR)/bin/symstore.sh
 else
$(SRCDIR)/bin/symbolstore.py 
$(WORKDIR)/UnpackedTarball/breakpad/src/tools/linux/dump_syms/dump_syms 
$(WORKDIR)/symbols/ $(INSTDIR)/program/*
 endif
diff --git a/bin/symstore.sh b/bin/symstore.sh
new file mode 100755
index 000..56260c0
--- /dev/null
+++ b/bin/symstore.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+
+add_pdb()
+{
+extension=$1
+type=$2
+list=$3
+for file in $(find "${INSTDIR}/" -name "*.${extension}"); do
+filename=$(basename "$file" ".${extension}")
+pdb="${WORKDIR}/LinkTarget/${type}/${filename}.pdb"
+if [ -f "$pdb" ]; then
+cygpath -w "$pdb" >> "$list"
+fi
+done
+
+}
+
+# check preconditions
+if [ -z "${INSTDIR}" ] || [ -z "${WORKDIR}" ]; then
+echo "INSTDIR or WORKDIR not set - script expects calling inside buildenv"
+exit 1
+fi
+if [ ! -d "${INSTDIR}" ] || [ ! -d "${WORKDIR}" ]; then
+echo "INSTDIR or WORKDIR not present - script expects calling after full 
build"
+exit 1
+fi
+which symstore.exe > /dev/null 2>&1 || {
+echo "symstore.exe is expected in the PATH"
+exit 1
+}
+
+# defaults
+MAX_KEEP=5
+SYM_PATH=${WORKDIR}/symstore
+
+USAGE="Usage: $0 [-h|-k |-p ]
+   -h: this cruft
+   -k :   keep this number of old symbol versions around
+   (default: ${MAX_KEEP}. Set to 0 for unlimited)
+   -p :  specify full path to symbol store tree
+If no path is specified, defaults to ${SYM_PATH}.
+"
+
+# process args
+while :
+do
+   case "$1" in
+-k|--keep) MAX_KEEP="$2"; shift 2;;
+-p|--path) SYM_PATH="$2"; shift 2;;
+-h|--help) echo "${USAGE}"; exit 0; shift;;
+-*) echo "${USAGE}" >&2; exit 1;;
+*) break;;
+   esac
+done
+
+if [ $# -gt 0 ]; then
+echo "${USAGE}" >&2
+exit 1
+fi
+
+# populate symbol store from here
+TMPFILE=$(mktemp) || exit 1
+trap '{ rm -f ${TMPFILE}; }' EXIT
+
+# add dlls and executables
+add_pdb dll Library "${TMPFILE}"
+add_pdb exe Executable "${TMPFILE}"
+
+# stick all of it into symbol store
+symstore.exe add /compress /f "@$(cygpath -w "${TMPFILE}")" /s "$(cygpath -w 
"${SYM_PATH}")" /t "${PRODUCTNAME}" /v 
"${LIBO_VERSION_MAJOR}.${LIBO_VERSION_MINOR}.${LIBO_VERSION_MICRO}.${LIBO_VERSION_PATCH}${LIBO_VERSION_SUFFIX}${LIBO_VERSION_SUFFIX_SUFFIX}"
+rm -f "${TMPFILE}"
+
+# Cleanup symstore, older revisions will be removed.  Unless the
+# .dll/.exe changes, the .pdb should be shared, so with incremental
+# tinderbox several revisions should not be that space-demanding.
+if [ "${MAX_KEEP}" -gt 0 ] && [ -d "${SYM_PATH}/000Admin" ]; then
+to_remove=$(ls -1 "${SYM_PATH}/000Admin" | grep -v '\.txt' | grep -v 
'\.deleted' | sort | head -n "-${MAX_KEEP}")
+for revision in $to_remove; do
+symstore.exe del /i "${revision}" /s "$(cygpath -w "${SYM_PATH}")"
+done
+fi
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: bin/symstore.sh

2017-01-15 Thread Thorsten Behrens
 bin/symstore.sh |   36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

New commits:
commit a1784cc9a73c5f43d084f31ac37b78b3642d46d3
Author: Thorsten Behrens 
Date:   Sun Jan 15 20:51:22 2017 +0100

shellcheck: cleanup symstore.sh

Change-Id: I8eb53c06892934c21d55b69d12e3c8ff09696295

diff --git a/bin/symstore.sh b/bin/symstore.sh
index ca5bd30..56260c0 100755
--- a/bin/symstore.sh
+++ b/bin/symstore.sh
@@ -5,22 +5,22 @@ add_pdb()
 extension=$1
 type=$2
 list=$3
-for file in `find ${INSTDIR}/ -name *.${extension}`; do
-filename=`basename $file .${extension}`
-pdb=`echo ${WORKDIR}/LinkTarget/${type}/${filename}.pdb`
+for file in $(find "${INSTDIR}/" -name "*.${extension}"); do
+filename=$(basename "$file" ".${extension}")
+pdb="${WORKDIR}/LinkTarget/${type}/${filename}.pdb"
 if [ -f "$pdb" ]; then
-echo `cygpath -w $pdb` >>$list
+cygpath -w "$pdb" >> "$list"
 fi
 done
 
 }
 
 # check preconditions
-if [ -z ${INSTDIR} -o -z ${WORKDIR} ]; then
+if [ -z "${INSTDIR}" ] || [ -z "${WORKDIR}" ]; then
 echo "INSTDIR or WORKDIR not set - script expects calling inside buildenv"
 exit 1
 fi
-if [ ! -d ${INSTDIR} -o ! -d ${WORKDIR} ]; then
+if [ ! -d "${INSTDIR}" ] || [ ! -d "${WORKDIR}" ]; then
 echo "INSTDIR or WORKDIR not present - script expects calling after full 
build"
 exit 1
 fi
@@ -47,35 +47,35 @@ do
case "$1" in
 -k|--keep) MAX_KEEP="$2"; shift 2;;
 -p|--path) SYM_PATH="$2"; shift 2;;
--h|--help) printf "$USAGE"; exit 0; shift;;
--*) echo "$USAGE" >&2; exit 1;;
+-h|--help) echo "${USAGE}"; exit 0; shift;;
+-*) echo "${USAGE}" >&2; exit 1;;
 *) break;;
esac
 done
 
 if [ $# -gt 0 ]; then
-echo $usage >&2
+echo "${USAGE}" >&2
 exit 1
 fi
 
 # populate symbol store from here
-TMPFILE=`mktemp` || exit 1
-trap "{ rm -f $TMPFILE; }" EXIT
+TMPFILE=$(mktemp) || exit 1
+trap '{ rm -f ${TMPFILE}; }' EXIT
 
 # add dlls and executables
-add_pdb dll Library $TMPFILE
-add_pdb exe Executable $TMPFILE
+add_pdb dll Library "${TMPFILE}"
+add_pdb exe Executable "${TMPFILE}"
 
 # stick all of it into symbol store
-symstore.exe add /compress /f @${TMPFILE} /s $SYM_PATH /t "${PRODUCTNAME}" /v 
"${LIBO_VERSION_MAJOR}.${LIBO_VERSION_MINOR}.${LIBO_VERSION_MICRO}.${LIBO_VERSION_PATCH}${LIBO_VERSION_SUFFIX}${LIBO_VERSION_SUFFIX_SUFFIX}"
-rm -f $TMPFILE
+symstore.exe add /compress /f "@$(cygpath -w "${TMPFILE}")" /s "$(cygpath -w 
"${SYM_PATH}")" /t "${PRODUCTNAME}" /v 
"${LIBO_VERSION_MAJOR}.${LIBO_VERSION_MINOR}.${LIBO_VERSION_MICRO}.${LIBO_VERSION_PATCH}${LIBO_VERSION_SUFFIX}${LIBO_VERSION_SUFFIX_SUFFIX}"
+rm -f "${TMPFILE}"
 
 # Cleanup symstore, older revisions will be removed.  Unless the
 # .dll/.exe changes, the .pdb should be shared, so with incremental
 # tinderbox several revisions should not be that space-demanding.
-if [ $MAX_KEEP -gt 0 -a -d ${SYM_PATH}/000Admin ]; then
-to_remove=`ls -1 ${SYM_PATH}/000Admin | grep -v '\.txt' | grep -v 
'\.deleted' | sort | head -n -${MAX_KEEP}`
+if [ "${MAX_KEEP}" -gt 0 ] && [ -d "${SYM_PATH}/000Admin" ]; then
+to_remove=$(ls -1 "${SYM_PATH}/000Admin" | grep -v '\.txt' | grep -v 
'\.deleted' | sort | head -n "-${MAX_KEEP}")
 for revision in $to_remove; do
-symstore.exe del /i ${revision} /s `cygpath -w $SYM_PATH`
+symstore.exe del /i "${revision}" /s "$(cygpath -w "${SYM_PATH}")"
 done
 fi
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 48140] Remove uno calls from xlsx import

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=48140

--- Comment #48 from Commit Notification 
 ---
Jochen Nitschke committed a patch related to this issue.
It has been pushed to "master":

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

tdf#48140 replace CellRangeAddress in xlsx import (16)

It will be available in 5.4.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-commits] core.git: sc/source

2017-01-15 Thread Jochen Nitschke
 sc/source/filter/inc/formulabase.hxx |4 
 sc/source/filter/oox/formulabase.cxx |   25 ++---
 2 files changed, 6 insertions(+), 23 deletions(-)

New commits:
commit ff407afbb5b121228879a3323c5be12ce2750e1a
Author: Jochen Nitschke 
Date:   Fri Jan 13 17:29:11 2017 +0100

tdf#48140 replace CellRangeAddress in xlsx import (16)

Change-Id: Ie44a5b8433e2dc2c253d6c439f9308f936a4508f
Reviewed-on: https://gerrit.libreoffice.org/33094
Reviewed-by: Jochen Nitschke 
Tested-by: Jochen Nitschke 

diff --git a/sc/source/filter/inc/formulabase.hxx 
b/sc/source/filter/inc/formulabase.hxx
index 46ddbfb..7462426 100644
--- a/sc/source/filter/inc/formulabase.hxx
+++ b/sc/source/filter/inc/formulabase.hxx
@@ -694,10 +694,6 @@ public:
 address which has been extracted to orRange, false otherwise.
  */
 boolextractCellRange(
-css::table::CellRangeAddress& orRange,
-const ApiTokenSequence& rTokens,
-bool bAllowRelative ) const;
-boolextractCellRange(
 ScRange& orRange,
 const ApiTokenSequence& rTokens,
 bool bAllowRelative ) const;
diff --git a/sc/source/filter/oox/formulabase.cxx 
b/sc/source/filter/oox/formulabase.cxx
index b2f0ace..74b562c 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -1467,11 +1467,10 @@ bool lclConvertToCellAddress( ScAddress& orAddress, 
const SingleReference& rSing
 ((nFilterBySheet < 0) || (nFilterBySheet == rSingleRef.Sheet));
 }
 
-bool lclConvertToCellRange( CellRangeAddress& orRange, const ComplexReference& 
rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet )
+bool lclConvertToCellRange( ScRange& orRange, const ComplexReference& 
rComplexRef, sal_Int32 nForbiddenFlags, sal_Int32 nFilterBySheet )
 {
-orRange = CellRangeAddress( static_cast< sal_Int16 >( 
rComplexRef.Reference1.Sheet ),
-rComplexRef.Reference1.Column, rComplexRef.Reference1.Row,
-rComplexRef.Reference2.Column, rComplexRef.Reference2.Row );
+orRange = ScRange( rComplexRef.Reference1.Column, 
rComplexRef.Reference1.Row, rComplexRef.Reference1.Sheet,
+   rComplexRef.Reference2.Column, 
rComplexRef.Reference2.Row, rComplexRef.Reference2.Sheet );
 return
 !getFlag( rComplexRef.Reference1.Flags, nForbiddenFlags ) &&
 !getFlag( rComplexRef.Reference2.Flags, nForbiddenFlags ) &&
@@ -1500,10 +1499,11 @@ TokenToRangeListState lclProcessRef( ApiCellRangeList& 
orRanges, const Any& rDat
 ComplexReference aComplexRef;
 if( rData >>= aComplexRef )
 {
-CellRangeAddress aRange;
+ScRange aRange;
 // ignore invalid ranges (with #REF! errors), but do not stop parsing
 if( lclConvertToCellRange( aRange, aComplexRef, nForbiddenFlags, 
nFilterBySheet ) )
-orRanges.push_back( aRange );
+orRanges.push_back( CellRangeAddress(aRange.aStart.Tab(), 
aRange.aStart.Col(), aRange.aStart.Row(),
+ aRange.aEnd.Col(), 
aRange.aEnd.Row()) );
 return STATE_REF;
 }
 return STATE_ERROR;
@@ -1598,19 +1598,6 @@ Any FormulaProcessorBase::extractReference( const 
ApiTokenSequence& rTokens ) co
 return Any();
 }
 
-bool FormulaProcessorBase::extractCellRange( CellRangeAddress& orRange,
-const ApiTokenSequence& rTokens, bool bAllowRelative ) const
-{
-ApiCellRangeList aRanges;
-lclProcessRef( aRanges, extractReference( rTokens ), bAllowRelative, -1 );
-if( !aRanges.empty() )
-{
-orRange = aRanges.front();
-return true;
-}
-return false;
-}
-
 bool FormulaProcessorBase::extractCellRange( ScRange& orRange,
 const ApiTokenSequence& rTokens, bool bAllowRelative ) const
 {
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 48140] Remove uno calls from xlsx import

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=48140

--- Comment #47 from Commit Notification 
 ---
Jochen Nitschke committed a patch related to this issue.
It has been pushed to "master":

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

tdf#48140 replace ApiCellRangeList in xlsx import (3)

It will be available in 5.4.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 48140] Remove uno calls from xlsx import

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=48140

--- Comment #46 from Commit Notification 
 ---
Jochen Nitschke committed a patch related to this issue.
It has been pushed to "master":

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

tdf#48140 replace ApiCellRangeList in xlsx import (2)

It will be available in 5.4.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-commits] core.git: sc/source

2017-01-15 Thread Jochen Nitschke
 sc/source/filter/inc/sheetdatabuffer.hxx |2 
 sc/source/filter/oox/sheetdatabuffer.cxx |   70 +--
 2 files changed, 32 insertions(+), 40 deletions(-)

New commits:
commit 7c73c4605bb75b288e186b5de0ca12da1724353e
Author: Jochen Nitschke 
Date:   Fri Jan 13 09:38:33 2017 +0100

tdf#48140 replace ApiCellRangeList in xlsx import (3)

Change-Id: I9cb4b14c0b4642c6e630c449dc979521ba0f8ee6
Reviewed-on: https://gerrit.libreoffice.org/33093
Reviewed-by: Jochen Nitschke 
Tested-by: Jochen Nitschke 

diff --git a/sc/source/filter/inc/sheetdatabuffer.hxx 
b/sc/source/filter/inc/sheetdatabuffer.hxx
index 40d9b15..86590bb 100644
--- a/sc/source/filter/inc/sheetdatabuffer.hxx
+++ b/sc/source/filter/inc/sheetdatabuffer.hxx
@@ -189,7 +189,7 @@ private:
 };
 
 typedef ::std::pair< sal_Int32, sal_Int32 > XfIdNumFmtKey;
-typedef ::std::map< XfIdNumFmtKey, ApiCellRangeList > XfIdRangeListMap;
+typedef ::std::map< XfIdNumFmtKey, ScRangeList > XfIdRangeListMap;
 
 typedef ::std::pair< sal_Int32, sal_Int32 > RowRange;
 struct RowRangeStyle
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx 
b/sc/source/filter/oox/sheetdatabuffer.cxx
index 239a542..bc20b4f 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -59,7 +59,6 @@ namespace xls {
 
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::sheet;
-using namespace ::com::sun::star::table;
 using namespace ::com::sun::star::text;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::util;
@@ -325,12 +324,12 @@ void SheetDataBuffer::setMergedRange( const ScRange& 
rRange )
 
 typedef std::pair FormatKeyPair;
 
-void addIfNotInMyMap( StylesBuffer& rStyles, std::map< FormatKeyPair, 
ApiCellRangeList >& rMap, sal_Int32 nXfId, sal_Int32 nFormatId, const 
ApiCellRangeList& rRangeList )
+void addIfNotInMyMap( StylesBuffer& rStyles, std::map< FormatKeyPair, 
ScRangeList >& rMap, sal_Int32 nXfId, sal_Int32 nFormatId, const ScRangeList& 
rRangeList )
 {
 Xf* pXf1 = rStyles.getCellXf( nXfId ).get();
 if ( pXf1 )
 {
-for ( std::map< FormatKeyPair, ApiCellRangeList >::iterator it = 
rMap.begin(), it_end = rMap.end(); it != it_end; ++it )
+for ( std::map< FormatKeyPair, ScRangeList >::iterator it = 
rMap.begin(), it_end = rMap.end(); it != it_end; ++it )
 {
 if ( it->first.second == nFormatId )
 {
@@ -339,8 +338,8 @@ void addIfNotInMyMap( StylesBuffer& rStyles, std::map< 
FormatKeyPair, ApiCellRan
 {
 // add ranges from the rangelist to the existing rangelist 
for the
 // matching style ( should we check if they overlap ? )
-for ( ::std::vector< CellRangeAddress >::const_iterator 
iter = rRangeList.begin(), iter_end =  rRangeList.end(); iter != iter_end; 
++iter )
-   it->second.push_back( *iter );
+for (size_t i = 0, nSize = rRangeList.size(); i < nSize; 
++i)
+it->second.Append(*rRangeList[i]);
 return;
 }
 }
@@ -417,24 +416,21 @@ void SheetDataBuffer::finalizeImport()
 // write default formatting of remaining row range
 maXfIdRowRangeList[ maXfIdRowRange.mnXfId ].push_back( 
maXfIdRowRange.maRowRange );
 
-std::map< FormatKeyPair, ApiCellRangeList > rangeStyleListMap;
+std::map< FormatKeyPair, ScRangeList > rangeStyleListMap;
 for( XfIdRangeListMap::const_iterator aIt = maXfIdRangeLists.begin(), aEnd 
= maXfIdRangeLists.end(); aIt != aEnd; ++aIt )
 {
 addIfNotInMyMap( getStyles(), rangeStyleListMap, aIt->first.first, 
aIt->first.second, aIt->second );
 }
 // gather all ranges that have the same style and apply them in bulk
-for (  std::map< FormatKeyPair, ApiCellRangeList >::iterator it = 
rangeStyleListMap.begin(), it_end = rangeStyleListMap.end(); it != it_end; ++it 
)
+for (  std::map< FormatKeyPair, ScRangeList >::iterator it = 
rangeStyleListMap.begin(), it_end = rangeStyleListMap.end(); it != it_end; ++it 
)
 {
-const ApiCellRangeList& rRanges( it->second );
-for ( ::std::vector< CellRangeAddress >::const_iterator it_range = 
rRanges.begin(), it_rangeend = rRanges.end(); it_range!=it_rangeend; ++it_range 
)
-addColXfStyle( it->first.first, it->first.second,
-   ScRange( (*it_range).StartColumn, 
(*it_range).StartRow, (*it_range).Sheet,
-(*it_range).EndColumn, (*it_range).EndRow, 
(*it_range).Sheet ));
+const ScRangeList& rRanges( it->second );
+for (size_t i = 0, nSize = rRanges.size(); i < nSize; ++i)
+addColXfStyle( it->first.first, it->first.second, *rRanges[i]);
 }
 
 for ( std::map< 

[Libreoffice-bugs] [Bug 48140] Remove uno calls from xlsx import

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=48140

--- Comment #45 from Commit Notification 
 ---
Jochen Nitschke committed a patch related to this issue.
It has been pushed to "master":

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

tdf#48140 replace ApiCellRangeList in xlsx import (1)

It will be available in 5.4.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 48140] Remove uno calls from xlsx import

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=48140

--- Comment #44 from Commit Notification 
 ---
Jochen Nitschke committed a patch related to this issue.
It has been pushed to "master":

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

tdf#48140 replace CellRangeAddress in xlsx import (15)

It will be available in 5.4.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-commits] core.git: sc/source

2017-01-15 Thread Jochen Nitschke
 sc/source/filter/inc/addressconverter.hxx |5 +
 sc/source/filter/inc/condformatbuffer.hxx |4 ++--
 sc/source/filter/inc/viewsettings.hxx |2 +-
 sc/source/filter/oox/addressconverter.cxx |9 +
 sc/source/filter/oox/condformatbuffer.cxx |   24 +++-
 sc/source/filter/oox/viewsettings.cxx |4 ++--
 6 files changed, 26 insertions(+), 22 deletions(-)

New commits:
commit ff08e8d5618f84366439c6f48bd7c5f3062905a3
Author: Jochen Nitschke 
Date:   Thu Jan 12 22:04:49 2017 +0100

tdf#48140 replace ApiCellRangeList in xlsx import (2)

Change-Id: I3e609c54f7b21c300944362d27248d92ab69b886
Reviewed-on: https://gerrit.libreoffice.org/33092
Reviewed-by: Jochen Nitschke 
Tested-by: Jochen Nitschke 

diff --git a/sc/source/filter/inc/addressconverter.hxx 
b/sc/source/filter/inc/addressconverter.hxx
index 9884294..7c04971 100644
--- a/sc/source/filter/inc/addressconverter.hxx
+++ b/sc/source/filter/inc/addressconverter.hxx
@@ -554,6 +554,11 @@ public:
 const BinRangeList& rBinRanges,
 sal_Int16 nSheet,
 bool bTrackOverflow );
+voidconvertToCellRangeList(
+ScRangeList& orRanges,
+const BinRangeList& rBinRanges,
+sal_Int16 nSheet,
+bool bTrackOverflow );
 
 private:
 voidinitializeMaxPos(
diff --git a/sc/source/filter/inc/condformatbuffer.hxx 
b/sc/source/filter/inc/condformatbuffer.hxx
index 3ff9ad3..a0c7aec 100644
--- a/sc/source/filter/inc/condformatbuffer.hxx
+++ b/sc/source/filter/inc/condformatbuffer.hxx
@@ -184,7 +184,7 @@ typedef std::shared_ptr< CondFormatRule > CondFormatRuleRef;
 /** Model for a conditional formatting object. */
 struct CondFormatModel
 {
-ApiCellRangeListmaRanges;   /// Cell ranges for this 
conditional format.
+ScRangeList maRanges;   /// Cell ranges for this 
conditional format.
 boolmbPivot;/// Conditional formatting belongs 
to pivot table.
 
 explicitCondFormatModel();
@@ -210,7 +210,7 @@ public:
 voidfinalizeImport();
 
 /** Returns the cell ranges this conditional formatting belongs to. */
-inline const ApiCellRangeList& getRanges() const { return 
maModel.maRanges; }
+inline const ScRangeList& getRanges() const { return maModel.maRanges; }
 
 voidsetReadyForFinalize() { mbReadyForFinalize = true; }
 private:
diff --git a/sc/source/filter/inc/viewsettings.hxx 
b/sc/source/filter/inc/viewsettings.hxx
index 1ba44d1..2537fa8 100644
--- a/sc/source/filter/inc/viewsettings.hxx
+++ b/sc/source/filter/inc/viewsettings.hxx
@@ -31,7 +31,7 @@ namespace xls {
 struct PaneSelectionModel
 {
 ScAddress maActiveCell;  /// Position of active cell (cursor).
-ApiCellRangeListmaSelection;/// Selected cell 
ranges.
+ScRangeList maSelection;/// Selected cell 
ranges.
 sal_Int32   mnActiveCellId; /// Index of active 
cell in selection list.
 
 explicitPaneSelectionModel();
diff --git a/sc/source/filter/oox/addressconverter.cxx 
b/sc/source/filter/oox/addressconverter.cxx
index ecb4a6b..0a2bd3e 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -532,6 +532,15 @@ void AddressConverter::convertToCellRangeList( 
ApiCellRangeList& orRanges,
 orRanges.push_back( aRange );
 }
 
+void AddressConverter::convertToCellRangeList( ScRangeList& orRanges,
+const BinRangeList& rBinRanges, sal_Int16 nSheet, bool bTrackOverflow )
+{
+ScRange aRange;
+for( ::std::vector< BinRange >::const_iterator aIt = rBinRanges.begin(), 
aEnd = rBinRanges.end(); aIt != aEnd; ++aIt )
+if( convertToCellRange( aRange, *aIt, nSheet, true, bTrackOverflow ) )
+orRanges.Append( aRange );
+}
+
 // private 
 
 void AddressConverter::ControlCharacters::set(
diff --git a/sc/source/filter/oox/condformatbuffer.cxx 
b/sc/source/filter/oox/condformatbuffer.cxx
index 2779e68..ede0d46 100644
--- a/sc/source/filter/oox/condformatbuffer.cxx
+++ b/sc/source/filter/oox/condformatbuffer.cxx
@@ -20,7 +20,6 @@
 #include "condformatbuffer.hxx"
 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -39,7 +38,6 @@
 #include "colorscale.hxx"
 #include "conditio.hxx"
 #include "document.hxx"
-#include "convuno.hxx"
 #include "docfunc.hxx"
 #include "tokenarray.hxx"
 #include "tokenuno.hxx"
@@ -49,7 +47,6 @@ namespace xls {
 
 using namespace ::com::sun::star::sheet;
 using namespace ::com::sun::star::style;
-using namespace ::com::sun::star::table;
 using namespace 

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

2017-01-15 Thread Jochen Nitschke
 sc/source/filter/inc/addressconverter.hxx  |6 ++
 sc/source/filter/oox/addressconverter.cxx  |   14 ++
 sc/source/filter/oox/worksheetsettings.cxx |   16 
 3 files changed, 24 insertions(+), 12 deletions(-)

New commits:
commit 5c6b81622530e708b2bb7901bcc531212a6ef72e
Author: Jochen Nitschke 
Date:   Thu Jan 12 20:25:31 2017 +0100

tdf#48140 replace ApiCellRangeList in xlsx import (1)

Change-Id: I61c2890db1190f2552e16bc26968bec31c5dc6d3
Reviewed-on: https://gerrit.libreoffice.org/33091
Reviewed-by: Jochen Nitschke 
Tested-by: Jenkins 

diff --git a/sc/source/filter/inc/addressconverter.hxx 
b/sc/source/filter/inc/addressconverter.hxx
index e8ed5c5..9884294 100644
--- a/sc/source/filter/inc/addressconverter.hxx
+++ b/sc/source/filter/inc/addressconverter.hxx
@@ -22,6 +22,7 @@
 
 #include 
 #include 
+#include 
 #include "workbookhelper.hxx"
 
 namespace oox {
@@ -528,6 +529,11 @@ public:
 const OUString& rString,
 sal_Int16 nSheet,
 bool bTrackOverflow );
+voidconvertToCellRangeList(
+ScRangeList& orRanges,
+const OUString& rString,
+sal_Int16 nSheet,
+bool bTrackOverflow );
 
 /** Tries to convert the passed range list to a cell range list.
 
diff --git a/sc/source/filter/oox/addressconverter.cxx 
b/sc/source/filter/oox/addressconverter.cxx
index a36a4e8..ecb4a6b 100644
--- a/sc/source/filter/oox/addressconverter.cxx
+++ b/sc/source/filter/oox/addressconverter.cxx
@@ -509,6 +509,20 @@ void AddressConverter::convertToCellRangeList( 
ApiCellRangeList& orRanges,
 }
 }
 
+void AddressConverter::convertToCellRangeList( ScRangeList& orRanges,
+const OUString& rString, sal_Int16 nSheet, bool bTrackOverflow )
+{
+sal_Int32 nPos = 0;
+sal_Int32 nLen = rString.getLength();
+ScRange aRange;
+while( (0 <= nPos) && (nPos < nLen) )
+{
+OUString aToken = rString.getToken( 0, ' ', nPos );
+if( !aToken.isEmpty() && convertToCellRange( aRange, aToken, nSheet, 
true, bTrackOverflow ) )
+orRanges.Append(aRange);
+}
+}
+
 void AddressConverter::convertToCellRangeList( ApiCellRangeList& orRanges,
 const BinRangeList& rBinRanges, sal_Int16 nSheet, bool bTrackOverflow )
 {
diff --git a/sc/source/filter/oox/worksheetsettings.cxx 
b/sc/source/filter/oox/worksheetsettings.cxx
index 1bbc7a8..12d047d 100644
--- a/sc/source/filter/oox/worksheetsettings.cxx
+++ b/sc/source/filter/oox/worksheetsettings.cxx
@@ -30,7 +30,6 @@
 #include "workbooksettings.hxx"
 #include "tabprotection.hxx"
 #include "document.hxx"
-#include "convuno.hxx"
 
 namespace oox {
 namespace xls {
@@ -155,18 +154,11 @@ void WorksheetSettings::importProtectedRange( const 
AttributeList& rAttribs )
 OUString aRefs( rAttribs.getString( XML_sqref, OUString()));
 if (!aRefs.isEmpty())
 {
-ApiCellRangeList aRangeList;
-getAddressConverter().convertToCellRangeList( aRangeList, aRefs, 
getSheetIndex(), true );
-if (!aRangeList.empty())
+std::unique_ptr xRangeList(new ScRangeList());
+getAddressConverter().convertToCellRangeList( *xRangeList, aRefs, 
getSheetIndex(), true );
+if (!xRangeList->empty())
 {
-aProt.maRangeList = new ScRangeList;
-ScRangeList* pRangeList = aProt.maRangeList.get();
-for (::std::vector< css::table::CellRangeAddress >::const_iterator 
itr( aRangeList.begin()), end( aRangeList.end()); itr != end; ++itr)
-{
-ScRange aRange;
-ScUnoConversion::FillScRange( aRange, *itr);
-pRangeList->Append( aRange);
-}
+aProt.maRangeList = xRangeList.release();
 }
 }
 maSheetProt.maEnhancedProtections.push_back( aProt);
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


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

2017-01-15 Thread Jochen Nitschke
 sc/source/filter/inc/sheetdatabuffer.hxx |2 +-
 sc/source/filter/oox/sheetdatabuffer.cxx |   19 +++
 2 files changed, 12 insertions(+), 9 deletions(-)

New commits:
commit 98f2431d3bba2004174673294e28bf208bf9939e
Author: Jochen Nitschke 
Date:   Thu Jan 12 02:28:54 2017 +0100

tdf#48140 replace CellRangeAddress in xlsx import (15)

Change-Id: I31d10a481063f42f1504d0066d8364102d17a1fb
Reviewed-on: https://gerrit.libreoffice.org/33090
Reviewed-by: Jochen Nitschke 
Tested-by: Jochen Nitschke 

diff --git a/sc/source/filter/inc/sheetdatabuffer.hxx 
b/sc/source/filter/inc/sheetdatabuffer.hxx
index bfef48c..40d9b15 100644
--- a/sc/source/filter/inc/sheetdatabuffer.hxx
+++ b/sc/source/filter/inc/sheetdatabuffer.hxx
@@ -167,7 +167,7 @@ private:
 
 /** Writes all cell formatting attributes to the passed cell range list. 
(depreciates writeXfIdRangeProperties) */
 voidapplyCellMerging( const ScRange& rRange );
-voidaddColXfStyle( sal_Int32 nXfId, sal_Int32 nFormatId, 
const css::table::CellRangeAddress& rAddress, bool bProcessRowRange = false );
+voidaddColXfStyle( sal_Int32 nXfId, sal_Int32 nFormatId, 
const ScRange& rAddress, bool bProcessRowRange = false );
 private:
 /** Stores cell range address and formula token array of an array formula. 
*/
 typedef std::pair< ScRange, ApiTokenSequence > ArrayFormula;
diff --git a/sc/source/filter/oox/sheetdatabuffer.cxx 
b/sc/source/filter/oox/sheetdatabuffer.cxx
index dc13e2d..239a542 100644
--- a/sc/source/filter/oox/sheetdatabuffer.cxx
+++ b/sc/source/filter/oox/sheetdatabuffer.cxx
@@ -349,14 +349,14 @@ void addIfNotInMyMap( StylesBuffer& rStyles, std::map< 
FormatKeyPair, ApiCellRan
 }
 }
 
-void SheetDataBuffer::addColXfStyle( sal_Int32 nXfId, sal_Int32 nFormatId, 
const css::table::CellRangeAddress& rAddress, bool bProcessRowRange )
+void SheetDataBuffer::addColXfStyle( sal_Int32 nXfId, sal_Int32 nFormatId, 
const ScRange& rAddress, bool bProcessRowRange )
 {
 RowRangeStyle aStyleRows;
 aStyleRows.mnNumFmt.first = nXfId;
 aStyleRows.mnNumFmt.second = nFormatId;
-aStyleRows.mnStartRow = rAddress.StartRow;
-aStyleRows.mnEndRow = rAddress.EndRow;
-for ( sal_Int32 nCol = rAddress.StartColumn; nCol <= rAddress.EndColumn; 
++nCol )
+aStyleRows.mnStartRow = rAddress.aStart.Row();
+aStyleRows.mnEndRow = rAddress.aEnd.Row();
+for ( sal_Int32 nCol = rAddress.aStart.Col(); nCol <= rAddress.aEnd.Col(); 
++nCol )
 {
 if ( !bProcessRowRange )
 maStylesPerColumn[ nCol ].insert( aStyleRows );
@@ -364,8 +364,8 @@ void SheetDataBuffer::addColXfStyle( sal_Int32 nXfId, 
sal_Int32 nFormatId, const
 {
 RowStyles& rRowStyles = maStylesPerColumn[ nCol ];
 // Reset row range for each column
-aStyleRows.mnStartRow = rAddress.StartRow;
-aStyleRows.mnEndRow = rAddress.EndRow;
+aStyleRows.mnStartRow = rAddress.aStart.Row();
+aStyleRows.mnEndRow = rAddress.aEnd.Row();
 
 // If aStyleRows includes rows already allocated to a style
 // in rRowStyles, then we need to split it into parts.
@@ -427,7 +427,9 @@ void SheetDataBuffer::finalizeImport()
 {
 const ApiCellRangeList& rRanges( it->second );
 for ( ::std::vector< CellRangeAddress >::const_iterator it_range = 
rRanges.begin(), it_rangeend = rRanges.end(); it_range!=it_rangeend; ++it_range 
)
-addColXfStyle( it->first.first, it->first.second, *it_range );
+addColXfStyle( it->first.first, it->first.second,
+   ScRange( (*it_range).StartColumn, 
(*it_range).StartRow, (*it_range).Sheet,
+(*it_range).EndColumn, (*it_range).EndRow, 
(*it_range).Sheet ));
 }
 
 for ( std::map< sal_Int32, std::vector< ValueRange > >::iterator it = 
maXfIdRowRangeList.begin(), it_end =  maXfIdRowRangeList.end(); it != it_end; 
++it )
@@ -439,7 +441,8 @@ void SheetDataBuffer::finalizeImport()
 {
 if ( it->first == -1 ) // it's a dud skip it
 continue;
-CellRangeAddress aRange( getSheetIndex(), 0, rangeIter->mnFirst, 
rAddrConv.getMaxApiAddress().Col(), rangeIter->mnLast );
+ScRange aRange( 0, rangeIter->mnFirst, getSheetIndex(),
+rAddrConv.getMaxApiAddress().Col(), 
rangeIter->mnLast, getSheetIndex() );
 
 addColXfStyle( it->first, -1, aRange, true );
 }
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 104372] Ctrl+M is not associated with clear direct formatting in Impress and Draw

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=104372

--- Comment #4 from Commit Notification 
 ---
Mark Hung committed a patch related to this issue.
It has been pushed to "master":

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

tdf#104372 Update accelerator command of CTRL+M in Draw.

It will be available in 5.4.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-commits] core.git: officecfg/registry

2017-01-15 Thread Mark Hung
 officecfg/registry/data/org/openoffice/Office/Accelerators.xcu |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit fef38c79e46feaf72e31253d80a82f26b4c2bcc7
Author: Mark Hung 
Date:   Sun Jan 15 17:43:37 2017 +0800

tdf#104372 Update accelerator command of CTRL+M in Draw.

The UNO command of default formatting in Draw is .uno:SetDefault
instead of .uno:ResetAttributes.

Change-Id: I9fea2cb6b89f7869cfcd40fa6e1768952563a4f6
Reviewed-on: https://gerrit.libreoffice.org/33085
Tested-by: Jenkins 
Reviewed-by: Mark Hung 

diff --git a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu 
b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
index 79ea602..da69c83 100644
--- a/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Accelerators.xcu
@@ -1701,13 +1701,13 @@
 
   
 I10N SHORTCUTS - NO 
TRANSLATE
-.uno:ResetAttributes
+.uno:SetDefault
   
 
 
   
 I10N SHORTCUTS - NO 
TRANSLATE
-.uno:ResetAttributes
+.uno:SetDefault
   
 
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] online.git: loleaflet/src

2017-01-15 Thread Tomaž Vajngerl
 loleaflet/src/map/Map.js  |5 ++-
 loleaflet/src/map/handler/Map.Keyboard.js |   47 --
 2 files changed, 43 insertions(+), 9 deletions(-)

New commits:
commit 724cac1d97ab2458252c60bd949a7852c3852c69
Author: Tomaž Vajngerl 
Date:   Sun Jan 15 23:53:00 2017 +0100

fix Chrome Android and Firefox Android text input

- Change from textarea to input (type="text") to prevent Firefox
to auto-capitalize.

- Clean the text input content after each word so that the soft
keyboard spellcheck suggestions are correct and that backspace
doesn't delete long IME suggestions before it has effect.

- Workaround on Chrome Android 'space' and applying spell-check
corrections.

diff --git a/loleaflet/src/map/Map.js b/loleaflet/src/map/Map.js
index 4001cd4..65efab7 100644
--- a/loleaflet/src/map/Map.js
+++ b/loleaflet/src/map/Map.js
@@ -599,7 +599,10 @@ L.Map = L.Evented.extend({
}
 
var textAreaContainer = L.DomUtil.create('div', 
'clipboard-container', container.parentElement);
-   this._textArea = L.DomUtil.create('textarea', 'clipboard', 
textAreaContainer);
+   this._textArea = L.DomUtil.create('input', 'clipboard', 
textAreaContainer);
+   this._textArea.setAttribute('type', 'text');
+   this._textArea.setAttribute('autocorrect', 'off');
+   this._textArea.setAttribute('autocapitalize', 'off');
this._resizeDetector = L.DomUtil.create('iframe', 
'resize-detector', container);
this._fileDownloader = L.DomUtil.create('iframe', '', 
container);
L.DomUtil.setStyle(this._fileDownloader, 'display', 'none');
diff --git a/loleaflet/src/map/handler/Map.Keyboard.js 
b/loleaflet/src/map/handler/Map.Keyboard.js
index 0da5e09..a159b68 100644
--- a/loleaflet/src/map/handler/Map.Keyboard.js
+++ b/loleaflet/src/map/handler/Map.Keyboard.js
@@ -284,12 +284,28 @@ L.Map.Keyboard = L.Handler.extend({
var charCode = e.originalEvent.charCode;
var keyCode = e.originalEvent.keyCode;
 
+   if (e.type === 'compositionstart' || e.type === 
'compositionupdate') {
+   this._isComposing = true; // we are starting composing 
with IME
+   }
+
if (e.type === 'compositionend') {
+   this._isComposing = false; // stop of composing with IME
+   // get the composited char codes
var compCharCodes = [];
for (var i = 0; i < e.originalEvent.data.length; i++) {

compCharCodes.push(e.originalEvent.data[i].charCodeAt());
}
+   // clear the input now - best to do this ASAP so the 
input
+   // is clear for the next word
+   this._map._textArea.value = '';
+   }
+
+   if (!this._isComposing && e.type === 'keyup') {
+   // not compositing and keyup, clear the input so it is 
ready
+   // for next word (or char only)
+   this._map._textArea.value = '';
}
+
var unoKeyCode = this._toUNOKeyCode(keyCode);
 
if (this.modifier) {
@@ -338,15 +354,30 @@ L.Map.Keyboard = L.Handler.extend({
this._bufferedTextInputEvent = e;
}
else if (e.type === 'keyup') {
-   // Hack for making space work in chrome when 
IME is enabled
-   // Chrome doesn't fire compositionend event or 
keypress when
-   // IME is enabled *and* user presses .
-   // However, it sends 'textInput' event in such 
a case.
-   // Use the buffered textInput event if its the 
space key and has not been
-   // handled already by 'keypress' or 
'compositionend' events above
-   if (!this._keyHandled && 
this._bufferedTextInputEvent && e.originalEvent.key === 
this._bufferedTextInputEvent.originalEvent.data) {
+   // Hack for making space and spell-check text 
insert work
+   // in Chrome (on Andorid) or Chrome with IME.
+   //
+   // Chrome (Android) IME triggers keyup/keydown 
input with
+   // code 229 when hitting space (as with all 
composiiton events)
+   // with addition to 'textinput' event, in which 
we only see that
+   // space was entered. Similar situation is also 
when inserting
+   // a soft-keyboard spell-check item - it is 
visible only 

[Libreoffice-bugs] [Bug 105355] New: Automatic Spell Checking highlights correctly spelled AutoInput word starting with capital letter

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105355

Bug ID: 105355
   Summary: Automatic Spell Checking highlights correctly spelled
AutoInput word starting with capital letter
   Product: LibreOffice
   Version: 5.2.4.2 release
  Hardware: x86-64 (AMD64)
OS: Windows (All)
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Calc
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: gilward.ku...@gmail.com

Description:
Automatic Spell Checking highlights correctly spelled AutoInput word starting
with capital letter when input with lowercase first letter

Steps to Reproduce:
1. set document language to English or German (Tools > Options > Language
Settings > Languages). Maybe other languages work too.
2. enable Tools > Automatic Spell Checking and Tools > AutoInput
3. in A1, enter Mars. There is no red line from the spell checker under the
word. 
4. in A2, type a lowercase m and press enter. AutoInput puts "Mars" into the
cell.


Actual Results:  
There is a red line from the spell checker under "Mars" in A2.


Expected Results:
There should be no red line because the spelling is correct.


Reproducible: Always

User Profile Reset: yes

Additional Info:


User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101
Firefox/50.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 105055] Crash in: ScPostIt::CreateCaption(ScAddress const &, SdrCaptionObj const *)

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105055

--- Comment #10 from Aron Budea  ---
Created attachment 130465
  --> https://bugs.documentfoundation.org/attachment.cgi?id=130465=edit
Backtrace with WinDbg

(In reply to V Stuart Foote from comment #3)
> Pointer issue?

Yes, incoming pCaption is invalid (all the way from Clone(...)). Interestingly,
other parts of maNoteData seem to be valid.

-- 
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 105354] New: LOCALHELP: Create documentation for Macro Selector window

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105354

Bug ID: 105354
   Summary: LOCALHELP: Create documentation for Macro Selector
window
   Product: LibreOffice
   Version: 5.4.0.0.alpha0+ Master
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Documentation
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: kelem...@ubuntu.com

Select Tools - Customize, Events tab. 
Click the Macro... button. The Macro Selector window appears.
Press the Help button.
The page that opens is about the Menu tab of the Customize window, saying:

"Choose Tools - Customize - Menu tab"

There is no own page for the Macro Selector, only a few sentences at the end of
the general Macro page:

https://help.libreoffice.org/Common/Macro

-- 
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: uitest/writer_tests

2017-01-15 Thread Xisco Fauli
 uitest/writer_tests/tdf80663.py |   40 
 1 file changed, 40 insertions(+)

New commits:
commit e033311c1a4fcfe594bc773d58da6cc06d4dd624
Author: Xisco Fauli 
Date:   Sun Jan 15 18:20:25 2017 +0100

tdf#80663 Add uitest

Change-Id: Icc9d7d84b44ecbd0531f538ec227b37998b1f5e2
Reviewed-on: https://gerrit.libreoffice.org/33097
Tested-by: Jenkins 
Reviewed-by: Xisco Faulí 

diff --git a/uitest/writer_tests/tdf80663.py b/uitest/writer_tests/tdf80663.py
new file mode 100644
index 000..916a49b
--- /dev/null
+++ b/uitest/writer_tests/tdf80663.py
@@ -0,0 +1,40 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+
+from uitest.framework import UITestCase
+
+class tdf80663(UITestCase):
+
+def test_delete_row_and_undo(self):
+
+self.ui_test.create_doc_in_start_center("writer")
+
+self.ui_test.execute_dialog_through_command(".uno:InsertTable")
+
+xInsertDlg = self.xUITest.getTopFocusWindow()
+
+xOkBtn = xInsertDlg.getChild("ok")
+xOkBtn.executeAction("CLICK", tuple())
+
+document = self.ui_test.get_component()
+
+tables = document.getTextTables()
+self.assertEqual(len(tables[0].getRows()), 2)
+self.assertEqual(len(tables[0].getColumns()), 2)
+
+self.xUITest.executeCommand(".uno:DeleteRows")
+
+self.assertEqual(len(tables[0].getRows()), 1)
+self.assertEqual(len(tables[0].getColumns()), 2)
+
+self.xUITest.executeCommand(".uno:Undo")
+
+self.assertEqual(len(tables[0].getRows()), 2)
+self.assertEqual(len(tables[0].getColumns()), 2)
+
+self.ui_test.close_doc()
+
+# 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-commits] core.git: Branch 'refs/notes/commits' - 55/ffac651c9996916680cdc05b32eb1b091a5ccf

2017-01-15 Thread Caolán McNamara
 55/ffac651c9996916680cdc05b32eb1b091a5ccf |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 6a4a8be50acae58d30ba301b732ad253cb7a4b7d
Author: Caolán McNamara 
Date:   Sun Jan 15 21:02:11 2017 +

Notes added by 'git notes add'

diff --git a/55/ffac651c9996916680cdc05b32eb1b091a5ccf 
b/55/ffac651c9996916680cdc05b32eb1b091a5ccf
new file mode 100644
index 000..50de932
--- /dev/null
+++ b/55/ffac651c9996916680cdc05b32eb1b091a5ccf
@@ -0,0 +1 @@
+merged as: 5f2f0d9799d9ab57624e03e235b32333ad961ac2
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


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

2017-01-15 Thread Pedro Giffuni
 sal/osl/unx/backtrace.c |9 +
 1 file changed, 9 insertions(+)

New commits:
commit 5f2f0d9799d9ab57624e03e235b32333ad961ac2
Author: Pedro Giffuni 
Date:   Fri Jan 13 16:08:51 2017 +

FreeBSD PPC: Missing patch

Submitted by:   Curtis Hamilton

(cherry picked from commit 55ffac651c9996916680cdc05b32eb1b091a5ccf)

Change-Id: I160ff9369a563d58469682ed96e25c792184708c

diff --git a/sal/osl/unx/backtrace.c b/sal/osl/unx/backtrace.c
index c5fbfbf..5df6fcf 100644
--- a/sal/osl/unx/backtrace.c
+++ b/sal/osl/unx/backtrace.c
@@ -138,9 +138,18 @@ void backtrace_symbols_fd( void **buffer, int size, int fd 
)
 #include 
 #include "backtrace.h"
 
+#if defined(POWERPC) || defined(POWERPC64)
+
+#define FRAME_PTR_OFFSET 1
+#define FRAME_OFFSET 0
+
+#else
+
 #define FRAME_PTR_OFFSET 3
 #define FRAME_OFFSET 0
 
+#endif
+
 int backtrace( void **buffer, int max_frames )
 {
 struct frame *fp;
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'refs/notes/commits' - 23/92e0d29388e347de3ecc3f73a51552ca098d7d

2017-01-15 Thread Caolán McNamara
 23/92e0d29388e347de3ecc3f73a51552ca098d7d |1 +
 1 file changed, 1 insertion(+)

New commits:
commit dac3b88cc9b9edf7bd55b2014cbcf7b7247fca8a
Author: Caolán McNamara 
Date:   Sun Jan 15 20:56:41 2017 +

Notes added by 'git notes add'

diff --git a/23/92e0d29388e347de3ecc3f73a51552ca098d7d 
b/23/92e0d29388e347de3ecc3f73a51552ca098d7d
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/23/92e0d29388e347de3ecc3f73a51552ca098d7d
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 99784] EXTENSION MANAGER - freeze / hang when attempting to install extensions on OSX 10.11 and macOS 10.12 by double-click on oxt file

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=99784

--- Comment #72 from Telesto  ---
Created attachment 130464
  --> https://bugs.documentfoundation.org/attachment.cgi?id=130464=edit
LLDB Backtrace

Two backtraces with a different perspective. 

BT between adding an extension and license agreement, done with:
Done with build +/- 12 Jan 2017
Version: 5.4.0.0.alpha0+
Build ID: 88f561204d7cee25633df8117cc8d7e1ebd8e9ad
CPU Threads: 4; OS Version: Mac OS X 10.12.2; UI Render: default; 
Locale: en-US (en_US.UTF-8); Calc: group

BT while opening Extension Manager
Done with build +/- 4 Jan 2017
Version: 5.4.0.0.alpha0+
Build ID: 88f561204d7cee25633df8117cc8d7e1ebd8e9ad
CPU Threads: 4; OS Version: Mac OS X 10.12.2; UI Render: default; 
Locale: en-US (en_US.UTF-8); Calc: group

-- 
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 'refs/notes/commits' - cb/e87f8fbb23e726a320bc282afea51cfd47a5ce

2017-01-15 Thread Caolán McNamara
 cb/e87f8fbb23e726a320bc282afea51cfd47a5ce |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 97b873962be912613e7f7ed303bf999f752a6707
Author: Caolán McNamara 
Date:   Sun Jan 15 20:55:08 2017 +

Notes added by 'git notes add'

diff --git a/cb/e87f8fbb23e726a320bc282afea51cfd47a5ce 
b/cb/e87f8fbb23e726a320bc282afea51cfd47a5ce
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/cb/e87f8fbb23e726a320bc282afea51cfd47a5ce
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'refs/notes/commits' - cc/feae67446ca436de18623af54c564266026289

2017-01-15 Thread Caolán McNamara
 cc/feae67446ca436de18623af54c564266026289 |1 +
 1 file changed, 1 insertion(+)

New commits:
commit a7b25aae97a502a830c79c5bdba41ce08e5c6d69
Author: Caolán McNamara 
Date:   Sun Jan 15 20:48:37 2017 +

Notes added by 'git notes add'

diff --git a/cc/feae67446ca436de18623af54c564266026289 
b/cc/feae67446ca436de18623af54c564266026289
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/cc/feae67446ca436de18623af54c564266026289
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'refs/notes/commits' - 21/f210aaf26636e2c258cdd52478d1a6d925f921

2017-01-15 Thread Caolán McNamara
 21/f210aaf26636e2c258cdd52478d1a6d925f921 |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 23cfada0eea45dcb5c249137dc28774cd7218c1a
Author: Caolán McNamara 
Date:   Sun Jan 15 20:47:46 2017 +

Notes added by 'git notes add'

diff --git a/21/f210aaf26636e2c258cdd52478d1a6d925f921 
b/21/f210aaf26636e2c258cdd52478d1a6d925f921
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/21/f210aaf26636e2c258cdd52478d1a6d925f921
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'refs/notes/commits' - d6/e0c30370effa6326fd174f6f05227a1c86c8d6

2017-01-15 Thread Caolán McNamara
 d6/e0c30370effa6326fd174f6f05227a1c86c8d6 |1 +
 1 file changed, 1 insertion(+)

New commits:
commit e74ed857db709bd93e5a3044bfe10b6bba4c5473
Author: Caolán McNamara 
Date:   Sun Jan 15 20:47:27 2017 +

Notes added by 'git notes add'

diff --git a/d6/e0c30370effa6326fd174f6f05227a1c86c8d6 
b/d6/e0c30370effa6326fd174f6f05227a1c86c8d6
new file mode 100644
index 000..8160f18
--- /dev/null
+++ b/d6/e0c30370effa6326fd174f6f05227a1c86c8d6
@@ -0,0 +1 @@
+prefer: 45c537a1185dfca7e51229dde9e9220e5174bd57
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-bugs] [Bug 105353] New: Crash in: ImplHandleUserEvent

2017-01-15 Thread bugzilla-daemon
https://bugs.documentfoundation.org/show_bug.cgi?id=105353

Bug ID: 105353
   Summary: Crash in: ImplHandleUserEvent
   Product: LibreOffice
   Version: unspecified
  Hardware: All
OS: All
Status: UNCONFIRMED
  Severity: normal
  Priority: medium
 Component: Base
  Assignee: libreoffice-bugs@lists.freedesktop.org
  Reporter: rpl...@ati.es

Created attachment 130463
  --> https://bugs.documentfoundation.org/attachment.cgi?id=130463=edit
A simple database with a form and a macro.

This bug was filed from the crash reporting server and is
br-07713f02-3700-4924-be3a-52b7206b7726.
=
LibreOffice crashes when save a form after editing it and assigning (or
rewriting) a macro to a control event. Only the changes in assignation of
macros to events cause abnormal performance. In version 5.1 the message were
"SEH exception: access violation". With Linux Ubuntu, "Unexpected error".
 I use HSQLDB external

-- 
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 'refs/notes/commits' - 27/f0c3366b4fb7c667d400e953c033f07de675f3

2017-01-15 Thread Caolán McNamara
 27/f0c3366b4fb7c667d400e953c033f07de675f3 |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 3befd30d474d4450f0caaea396254df9ffb682b8
Author: Caolán McNamara 
Date:   Sun Jan 15 20:46:51 2017 +

Notes added by 'git notes add'

diff --git a/27/f0c3366b4fb7c667d400e953c033f07de675f3 
b/27/f0c3366b4fb7c667d400e953c033f07de675f3
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/27/f0c3366b4fb7c667d400e953c033f07de675f3
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'refs/notes/commits' - 68/8ff6910e211b4af93d67a63ab8f4d2331efca7

2017-01-15 Thread Caolán McNamara
 68/8ff6910e211b4af93d67a63ab8f4d2331efca7 |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 8004cd78fe56da8a957327a9c59b786cec939431
Author: Caolán McNamara 
Date:   Sun Jan 15 20:46:01 2017 +

Notes added by 'git notes add'

diff --git a/68/8ff6910e211b4af93d67a63ab8f4d2331efca7 
b/68/8ff6910e211b4af93d67a63ab8f4d2331efca7
new file mode 100644
index 000..8ebbe55
--- /dev/null
+++ b/68/8ff6910e211b4af93d67a63ab8f4d2331efca7
@@ -0,0 +1 @@
+ignore: obsolete
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


  1   2   3   4   >