[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/1'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/6'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/78/8078/2'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/3'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/7'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/78/8078/1'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/4'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/46/8146/2'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/55/8155/2'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Changes to 'refs/changes/55/8155/1'

2014-09-29 Thread Kevin Hunter

___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: Testing/Working on PyUNO?

2014-02-25 Thread Kevin Hunter Kesling
I'm sorry to have ignited a discussion for which I wasn't looking.  I 
clearly don't have the authority to weigh in given my (lack of) 
meritocratic wealth in the LibO community, so let me keep this simple: 
I'm truly just trying to find an agreeable avenue for hacking on LibO 
given my use cases and time.


In the hopes that some of this discussion is fueled by a 
misunderstanding of my intentions, let me apologize below:


At 11:19am -0500 Wed, 19 Feb 2014, Kohei Yoshida wrote:

On Wed, 2014-02-19 at 16:51 +0100, Bjoern Michaelsen wrote:

Its still better than a bug without a reproduction scenario. So
consider a failed Python test a mere bug with a good reproduction
scenario for now.


But that's not what we are talking about here. Kevin insists to
write Python test to test core functionality, which is already
covered in core test.


Gosh, I'm sorry that's how I came across.  As I said over IRC, I 
recognize that I don't get it.  I'm trying to.  I patently do _not_ 
insist on anything in this area, as I recognize I'm not a maintainer, 
nor do I have the requisite internal knowledge of LibO/Calc.  I am, 
however, trying to find a way to strengthen what I perceive to be an 
area of weakness for LibO, and one that has potential for my use cases. 
 Namely, Python bindings to Calc.  Perhaps there's no fit here right 
now, and that's okay, too.


Clearly, were I to engage here, I'd like to not step on your (or 
anyone's) development toes.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] core.git: solenv/gbuild

2014-02-22 Thread Kevin Hunter
 solenv/gbuild/gbuild.help.txt |1 +
 1 file changed, 1 insertion(+)

New commits:
commit 59fc296f88a1acc92b867ef07ec1be42b8f023fe
Author: Kevin Hunter hunt...@earlham.edu
Date:   Fri Feb 21 01:01:28 2014 -0500

Advertise the new PythonTest_pytests addition.

For those who use the 'make help' paradigm to look for an entry point to
how to run their tests.

Please see this commit for context:
  4e887567c5b4b06646ab1340376e240d6c5af9cb

Change-Id: Id7ffed3aa1e5157406c0c3d5328f4dd5b7d81178
Reviewed-on: https://gerrit.libreoffice.org/8155
Reviewed-by: Caolán McNamara caol...@redhat.com
Tested-by: Caolán McNamara caol...@redhat.com

diff --git a/solenv/gbuild/gbuild.help.txt b/solenv/gbuild/gbuild.help.txt
index 49cb90d..67cdda3 100644
--- a/solenv/gbuild/gbuild.help.txt
+++ b/solenv/gbuild/gbuild.help.txt
@@ -72,6 +72,7 @@ AVAILABLE TARGETS
o Library
o Package
o Pagein
+   o PythonTest_pytests
o Pyuno
o Rdb
o StaticLibrary
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: 2 commits - pyuno/Module_pyuno.mk pyuno/PythonTest_pytests.mk pyuno/PythonTest_pyuno_pytests_insertremovecells.mk pyuno/qa

2014-02-20 Thread Kevin Hunter
 pyuno/Module_pyuno.mk   |7 +
 pyuno/PythonTest_pytests.mk |   29 ++
 pyuno/PythonTest_pyuno_pytests_insertremovecells.mk |   20 
 pyuno/qa/pytests/insertremovecells.py   |   85 
 pyuno/qa/pytests/testdocuments/fdo74824.ods |binary
 5 files changed, 141 insertions(+)

New commits:
commit f2471280c7c625e39369f76bd0efa1d2402f62bf
Author: Kevin Hunter hunt...@earlham.edu
Date:   Sun Feb 16 22:12:27 2014 -0500

Test for fdo#74824.

The bug in question crashed LibO when inserting a group of cells.
This bug was quashed, per se, by commit
07e2c31831ad265b018e5fdf59bdde048fbb4d35, but it occurs to me that at
least the particular functionality of inserting a group of cells could
use more testing.

Change-Id: Icdbfff86fb0265eef325bcc94d9fc9f3e9e38413

diff --git a/pyuno/Module_pyuno.mk b/pyuno/Module_pyuno.mk
index 31c831a..b79c21d 100644
--- a/pyuno/Module_pyuno.mk
+++ b/pyuno/Module_pyuno.mk
@@ -63,6 +63,7 @@ endif # SYSTEM_PYTHON
 ifneq (,$(filter PythonTest_pytests,$(MAKECMDGOALS)))
 $(eval $(call gb_Module_add_targets,pyuno, \
 PythonTest_pytests \
+PythonTest_pyuno_pytests_insertremovecells \
 ))
 endif
 
diff --git a/pyuno/PythonTest_pytests.mk b/pyuno/PythonTest_pytests.mk
index afb4ba5..63ffbb6 100644
--- a/pyuno/PythonTest_pytests.mk
+++ b/pyuno/PythonTest_pytests.mk
@@ -24,5 +24,6 @@
 $(eval $(call gb_PythonTest_PythonTest,pytests))
 
 $(call gb_PythonTest_get_target,pytests) : \
+$(call gb_PythonTest_get_target,pyuno_pytests_insertremovecells) \
 
 # vim: set noet sw=4 ts=4:
diff --git a/pyuno/PythonTest_pyuno_pytests_insertremovecells.mk 
b/pyuno/PythonTest_pyuno_pytests_insertremovecells.mk
new file mode 100644
index 000..3b3e3c0
--- /dev/null
+++ b/pyuno/PythonTest_pyuno_pytests_insertremovecells.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# This file is part of the LibreOffice project.
+#
+# 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/.
+#
+
+$(eval $(call gb_PythonTest_PythonTest,pyuno_pytests_insertremovecells))
+
+$(eval $(call gb_PythonTest_set_defs,pyuno_pytests_insertremovecells,\
+TDOC=$(SRCDIR)/pyuno/qa/pytests/testdocuments \
+))
+
+$(eval $(call 
gb_PythonTest_add_modules,pyuno_pytests_insertremovecells,$(SRCDIR)/pyuno/qa/pytests,\
+insertremovecells \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/pyuno/qa/pytests/insertremovecells.py 
b/pyuno/qa/pytests/insertremovecells.py
new file mode 100644
index 000..4ce2707
--- /dev/null
+++ b/pyuno/qa/pytests/insertremovecells.py
@@ -0,0 +1,85 @@
+import unittest
+
+from os import getenv, path
+
+try:
+from urllib.parse import quote
+except ImportError:
+from urllib import quote
+
+from org.libreoffice.unotest import pyuno, mkPropertyValue
+
+class InsertRemoveCells(unittest.TestCase):
+
+@classmethod
+def setUpClass(cls):
+cls.xContext = pyuno.getComponentContext()
+pyuno.experimentalExtraMagic()
+
+
+# no need for a tearDown(cls) method.
+
+
+def test_fdo74824_load(self):
+ctxt = self.xContext
+assert(ctxt)
+
+smgr = ctxt.ServiceManager
+desktop = smgr.createInstanceWithContext('com.sun.star.frame.Desktop', 
ctxt)
+loadProps = tuple(mkPropertyValue(k, v) for (k, v) in (
+  ('Hidden', True),
+  ('ReadOnly', False)
+))
+tdoc_dir = getenv('TDOC')
+url = 'file://' + quote(path.join(tdoc_dir, 'fdo74824.ods'))
+doc = desktop.loadComponentFromURL(url, _blank, 0, loadProps)
+
+sheet = doc.Sheets.Sheet1
+area = sheet.getCellRangeByName( 'A2:B4' )
+addr = area.getRangeAddress()
+
+# 2 = intended to shift cells right, but I don't know where to find
+# the ENUM to put in it's place.  Corrections welcome.
+sheet.insertCells( addr, 2 )
+
+# basically, the insertCells call is the test: it should not crash
+# LibreOffice.  However, for completeness, we should test the cell
+# contents as well.
+
+empty_cells = (
+  (0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3),
+  (3, 1), (4, 0), (4, 2), (5, 0), (5, 2), (5, 3),
+)
+formula_cells = (
+  (2, 0, '=(1+GDR)^-D1', '1.000', 1.0),
+  (4, 1, '=(1+GDR)^-F2', '0.125', 0.125),
+  (4, 3, '=SUM(C1:C2)', '1.000', 1.0),
+)
+value_cells = (
+  (2, 2, '2010', 2010.0),
+  (2, 3, '7', 7.0),
+  (3, 0, '0', 0),
+  (3, 2, '2012', 2012.0),
+  (3, 3, '6', 6.0),
+  (5, 1, '1', 1.0),
+)
+for pos in empty_cells:
+cell = sheet.getCellByPosition(*pos)
+self.assertEqual( 'EMPTY', cell.Type.value

[Libreoffice-commits] core.git: configure.ac

2014-02-20 Thread Kevin Hunter
 configure.ac |   24 ++--
 1 file changed, 22 insertions(+), 2 deletions(-)

New commits:
commit faaaddeea42996bf0aa9089fc851eb594165f7d5
Author: Kevin Hunter hunt...@earlham.edu
Date:   Thu Feb 20 10:43:58 2014 -0500

Enable relative paths.

The documentation for the --with-external-tar was previously not
specific that it required an absolute path.  So rather than fix the
help text, convert the path to an absolute one.

Change-Id: I794cd77235e68a2270acd09895bf994527e847c4
Reviewed-on: https://gerrit.libreoffice.org/8146
Reviewed-by: Norbert Thiebaud nthieb...@gmail.com
Tested-by: Norbert Thiebaud nthieb...@gmail.com

diff --git a/configure.ac b/configure.ac
index 9c317cc..cf9a3a7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -61,6 +61,23 @@ PathFormat()
 fi
 }
 
+AbsolutePath()
+{
+# There appears to be no simple and portable method to get an absolute and
+# canonical path, so we try creating the directory if does not exist and
+# utilizing the shell and pwd.
+rel=$1
+absolute_path=
+test ! -e $rel  mkdir -p $rel
+if test -d $rel ; then
+cd $rel || AC_MSG_ERROR([absolute path resolution failed for 
$rel.])
+absolute_path=$(pwd)
+cd -  /dev/null
+else
+AC_MSG_ERROR([Failed to resolve absolute path.  $rel does not exist 
or is not a directory.])
+fi
+}
+
 rm -f warn
 have_WARNINGS=no
 add_warning()
@@ -1333,8 +1350,8 @@ AC_ARG_WITH(gnu-cp,
 ,)
 
 AC_ARG_WITH(external-tar,
-AS_HELP_STRING([--with-external-tar=TARFILE PATH],
-[Specify path to tarfiles manually.]),
+AS_HELP_STRING([--with-external-tar=TARFILE_PATH],
+[Specify an absolute path of where to find (and store) tarfiles.]),
 TARFILE_LOCATION=$withval ,
 )
 
@@ -4729,6 +4746,9 @@ if test -z $TARFILE_LOCATION; then
 ln -s $SRC_ROOT/external/tarballs $SRC_ROOT/src
 fi
 TARFILE_LOCATION=$SRC_ROOT/external/tarballs
+else
+AbsolutePath $TARFILE_LOCATION
+TARFILE_LOCATION=${absolute_path}
 fi
 AC_SUBST(TARFILE_LOCATION)
 
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: Testing/Working on PyUNO?

2014-02-20 Thread Kevin Hunter Kesling

At 6:09am -0500 Thu, 20 Feb 2014, Stephan Bergmann wrote:

On 02/19/2014 12:02 PM, Stephan Bergmann wrote:

The idea would be that Kevin (and others) would fill this with PyUNO
coding scenarios that cross their mind, discover errors in the PyUNO
infrastructure, ideally distill tests for those specific errors out of
the more general tests (that could then even go into more specific code
modules like pyuno or testtools), and eventually prune test snippets
again that are no longer useful.


To get that started, I created
http://cgit.freedesktop.org/libreoffice/core/commit/?id=4e887567c5b4b06646ab1340376e240d6c5af9cb
A rudimentary framework for additional Python tests not run by default
and moved the previously abandoned
http://cgit.freedesktop.org/libreoffice/core/commit/?id=f2471280c7c625e39369f76bd0efa1d2402f62bf
Test for fdo#74824 there.

At least for now, the tests are not run by default, but need an explicit
make PythonTest_pytests.  See the commit message of
http://cgit.freedesktop.org/libreoffice/core/commit/?id=4e887567c5b4b06646ab1340376e240d6c5af9cb
for details.


That's great, and now means that there is at least an appropriate place 
to put the functional tests that are currently in my purview.  If James 
DuPont (for instance, since he commented on this thread, and [hint, 
hint]) were able to identify problem areas he's run across in test form, 
that would be most appreciated as well!  :-)


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [PUSHED] newdev review request: sc/.../vbarange.cxx

2012-06-07 Thread Kevin Hunter

At 4:40am -0400 Thu, 07 Jun 2012, Noel Power wrote:

Btw if you are interested there are probably quite a few instances
of VBA_OOBUILD_HACK buried in there that could do with removal ( and
then finally wherever the -D for same passed to the compiler )
Cleaning those out would be appreciated ( by me at least )


Noted.  Will see what comes up.


Patch looks fine, thanks for that, pushed now.



Next time for convenience could you use 'git format-patch' for
creating the diff ( just makes it easier to process ) thanks alot !!


I actually have commit access.  I just ... jumped the gun when I was 
working on removing the mpNote pointer from ScBaseCell 7 months ago. 
Now I'm timid again, and until I get more confidence for anything more 
than a /dead/ simple patch, I'm nervous.


And so it goes.  Thanks!

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[PATCH] newdev review request: sc/.../vbarange.cxx

2012-06-06 Thread Kevin Hunter

Hullo List,

Having been too excited last time (7+ months) and committed to master 
way too early, I'm back to basics as I try (once again) to get back into 
LO dev.  Here's a minor cppcheck-found unused variable patch.  Please 
review at your convenience.


Cheers,

Kevin
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index 99a2308..a1190bd 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -5530,15 +5530,10 @@ ScVbaRange::AutoFill(  const uno::Reference excel::XRange  Destination, const
 }
 }
 }
-ScDocShell* pDocSh= excel::GetDocShellFromRange( mxRange );
 
 FillCmd eCmd = FILL_AUTO;
 FillDateCmd eDateCmd = FILL_DAY;
 
-#ifdef VBA_OOBUILD_HACK
-double fEndValue =  MAXDOUBLE;
-#endif
-
 if ( Type.hasValue() )
 {
 sal_Int16 nFillType = excel::XlAutoFillType::xlFillDefault;
@@ -5581,6 +5576,8 @@ ScVbaRange::AutoFill(  const uno::Reference excel::XRange  Destination, const
 }
 }
 #ifdef VBA_OOBUILD_HACK
+double fEndValue =  MAXDOUBLE;
+ScDocShell* pDocSh = excel::GetDocShellFromRange( mxRange );
 pDocSh-GetDocFunc().FillAuto( aSourceRange, NULL, eDir, eCmd, eDateCmd,
nCount, fStep, fEndValue, sal_True, sal_True );
 #endif
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: finding code for UI strings ...

2012-06-04 Thread Kevin Hunter

At 1:51pm -0400 Thu, 31 May 2012, Joel Madero wrote:

As for the explanation of why my search didn't come up with it, I did
the following search (twice now) with grep:

grep -rl Save with password  password_code.txt

I would think that the grep would find the code regardless of the
underscore. Still a bit confused about that, didn't get a chance last
night to look into the other src file but hopefully tonight or this
weekend.


Looks to me like you forgot to tell grep /where/ to search:

# wait for input via stdin
$ grep -rl Save with password  password_code.txt

# search starting from this directory
$ grep -rl Save with password .  password_code.txt

The latter should yield results of interest to you.

Git might return results a bit faster than a blanket search of 
everything (e.g. non-source files, uncompressed versions of files in 
Git, etc.):


$ git grep Save with password

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] .: filter/source

2012-05-30 Thread Kevin Hunter
 filter/source/msfilter/msdffimp.cxx |5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

New commits:
commit ddc36f8914640d6d75464ab26690b72504469fa0
Author: Kevin Hunter hunt...@earlham.edu
Date:   Wed May 30 03:09:12 2012 -0400

cppcheck: Reduce variable scope

Change-Id: I11f7642346ccc1949d5716b32444df86541eabf8

diff --git a/filter/source/msfilter/msdffimp.cxx 
b/filter/source/msfilter/msdffimp.cxx
index 9d5e1dc..b5c27bd 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -4326,15 +4326,14 @@ SdrObject* SvxMSDffManager::ImportGroup( const 
DffRecordHeader rHd, SvStream r
 rSt  aRecHd;
 if ( aRecHd.nRecType == DFF_msofbtSpContainer )
 {
-sal_Int32 nGroupRotateAngle = 0;
-sal_Int32 nSpFlags = 0;
 mnFix16Angle = 0;
 if (!aRecHd.SeekToBegOfRecord(rSt))
 return pRet;
 pRet = ImportObj( rSt, pClientData, rClientRect, rGlobalChildRect, 
nCalledByGroup + 1, pShapeId );
 if ( pRet )
 {
-nSpFlags = nGroupShapeFlags;
+sal_Int32 nGroupRotateAngle = 0;
+sal_Int32 nSpFlags = nGroupShapeFlags;
 nGroupRotateAngle = mnFix16Angle;
 
 Rectangle aClientRect( rClientRect );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: minor grammaro in /download/

2012-04-04 Thread Kevin Hunter

At 7:37am -0400 Wed, 04 Apr 2012, Christian Lohmaier wrote:

On Wed, Apr 4, 2012 at 9:41 AM, Miklos Vajna wrote:

On Wed, Apr 04, 2012 at 01:10:50AM -0400, Kevin Hunter wrote:

What's the correct venue to report something so minor as this typo?


webs...@global.libreoffice.org, I guess.


Yes, that would be the right place - but I fixed it, so not necessary
to send another posting in this case (but in future,


Thank you and noted.

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


minor grammaro in /download/

2012-04-03 Thread Kevin Hunter

Hullo List,

What's the correct venue to report something so minor as this typo?

As of 1:00am -0400 today, the current /download/ page on libreoffice.org 
has this text:


Handy ressources

My email client has kindly suggested 'resources' from its English 
dictionary.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: intermittent flaw in gnumake deps on Win32 ..

2012-04-02 Thread Kevin Hunter

At 7:56am -0400 Fri, 30 Mar 2012, Christian Lohmaier wrote:

On Fri, Mar 30, 2012 at 1:05 PM, Matúš Kukan wrote:

On 30 March 2012 11:36, Michael Meeks wrote:

Regina's problem comes down to a corrupt .d file.
[...]
One more data-point, that file was exactly 4096 bytes large:


What does that mean ?


Well - it is either a coincidence, or not.. A multiple of 1024 i.e
exactly 4KB in size..


Perhaps dumb question: Is she out of space on that drive/partition?

Kevin

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


Re: intermittent flaw in gnumake deps on Win32 ..

2012-04-02 Thread Kevin Hunter

At 1:21pm -0400 Mon, 02 Apr 2012, Regina Henschel wrote:

Should be Hi Kevin. Please excuse.


:-) No worries.  I am often not sure whether to say Hi when responding 
back and forth in email discussions on a list.  Is it a formal 
interaction?  A friendly interaction?  An engineer's optimal interaction?


Regardless, Hello.

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] consistent SCCOL use?

2011-12-20 Thread Kevin Hunter

Hullo SC Devs,

A quick question to any more-knowledgeable-than-me person on whether 
there's a reason these spots in the calc code base are hard-coded to 
sal_Int16, rather than using SCCOL?


Thanks,

Kevin
diff --git a/sc/inc/pivot.hxx b/sc/inc/pivot.hxx
index 705f794..b6bded9 100644
--- a/sc/inc/pivot.hxx
+++ b/sc/inc/pivot.hxx
@@ -189,12 +189,12 @@ typedef ::std::vector ScPivotField  ScPivotFieldVector;
 
 struct ScDPFuncData
 {
-short   mnCol;
+SCCOL   mnCol;
 sal_uInt16  mnFuncMask;
 ::com::sun::star::sheet::DataPilotFieldReference maFieldRef;
 
-explicitScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask );
-explicitScDPFuncData( short nNewCol, sal_uInt16 nNewFuncMask,
+explicitScDPFuncData( SCCOL nNewCol, sal_uInt16 nNewFuncMask );
+explicitScDPFuncData( SCCOL nNewCol, sal_uInt16 nNewFuncMask,
 const ::com::sun::star::sheet::DataPilotFieldReference rFieldRef );
 };
 
diff --git a/sc/source/filter/excel/impop.cxx b/sc/source/filter/excel/impop.cxx
index 533bbb9..cffbaf0 100644
--- a/sc/source/filter/excel/impop.cxx
+++ b/sc/source/filter/excel/impop.cxx
@@ -465,7 +465,7 @@ void ImportExcel:: WinProtection( void )
 
 void ImportExcel::Columndefault( void )
 {// Default Cell Attributes
-sal_uInt16  nColMic, nColMac;
+SCCOL  nColMic, nColMac;
 sal_uInt8   nOpt0;
 
 aIn  nColMic  nColMac;
@@ -651,7 +651,7 @@ void ImportExcel::Builtinfmtcnt( void )
 
 void ImportExcel::Colinfo( void )
 {// Column Formatting Information
-sal_uInt16  nColFirst, nColLast, nColWidth, nXF;
+SCCOL  nColFirst, nColLast, nColWidth, nXF;
 sal_uInt16  nOpt;
 
 aIn  nColFirst  nColLast  nColWidth  nXF  nOpt;
diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx
index 1b65585..5437ef6 100644
--- a/sc/source/ui/dbgui/pfiltdlg.cxx
+++ b/sc/source/ui/dbgui/pfiltdlg.cxx
@@ -103,7 +103,7 @@ ScPivotFilterDlg::ScPivotFilterDlg( Window* pParent,
 nSrcTab ( nSourceTab ), // ist nicht im QueryParam
 nFieldCount ( 0 )
 {
-for (sal_uInt16 i=0; i=MAXCOL; i++)
+for (SCCOL i=0; i=MAXCOL; i++)
 pEntryLists[i] = NULL;
 
 Init( rArgSet );
@@ -114,7 +114,7 @@ ScPivotFilterDlg::ScPivotFilterDlg( Window* pParent,
 
 ScPivotFilterDlg::~ScPivotFilterDlg()
 {
-for (sal_uInt16 i=0; i=MAXCOL; i++)
+for (SCCOL i=0; i=MAXCOL; i++)
 delete pEntryLists[i];
 
 if ( pOutItem )
@@ -567,7 +567,7 @@ IMPL_LINK( ScPivotFilterDlg, CheckBoxHdl, CheckBox*, pBox )
 
 if ( pBox == aBtnCase )// Wertlisten
 {
-for (sal_uInt16 i=0; i=MAXCOL; i++)
+for (SCCOL i=0; i=MAXCOL; i++)
 DELETEZ( pEntryLists[i] );
 
 String aCurVal1 = aEdVal1.GetText();
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [ANNOUNCE] libreoffice-3.4.99.1 tag created (3.5.0-beta1)

2011-12-12 Thread Kevin Hunter

At 12:34pm -0500 Mon, 12 Dec 2011, Petr Mladek wrote:

Note that I used the correct version 3.4.99.1 for this beta. We use
(3.3.99.X also for 3.4 betas). I am sorry that I used 3.5.0.0 for
beta0. The 3.5.0.x version are reserved for release candidates.



./g fetch --tags
./g checkout -b tag-libreoffice-3.4.99.1 libreoffice-3.4.99.1


I hope this isn't a silly question: if I'm trying to stay at the 
bleeding edge of the 3.5 branch, should I switch from libreoffice-3-5 
to this new branch?


With a git pull from an hour ago, this is the branch that I'm currently 
building:


$ git branch
* libreoffice-3-5
  master

Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [ANNOUNCE] libreoffice-3.4.99.1 tag created (3.5.0-beta1)

2011-12-12 Thread Kevin Hunter

At 1:24pm -0500 Mon, 12 Dec 2011, Petr Mladek wrote:

Looks good. Please, also make sure that the other repositories are
on this branch. I do the following

./g branch | grep \*


:-)  They are; no worries/  But good eye for git vs ./g!

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-12-09 Thread Kevin Hunter

At 4:47pm -0500 Thu, 08 Dec 2011, Michael Meeks wrote:

On Thu, 2011-12-08 at 13:05 -0500, Kevin Hunter wrote:

More specifically, I wish there were a way to run exactly and only
one test (i.e. a single ::testFunction()).


Fine, sounds like a worthy goal. I suggest you hack cppunit to add
some magic macro wrappers to stringify the function name, and allow
some run-time parameter that will filter the tests immediately on
entry down to the one you want.


Oh!  I didn't realize cppunit was open for hacking from our end.  Let's 
see ... looking through that directory then ... the basic workflow is to 
write a patch to apply before we compile Cppunit, yes?



Also - it seems Noel Grandin is working on a (somewhat different)
re-hash of the note storage thing in his tree - worth not treading
on his feet there; but of course the more unit tests for note stuff
the merrier.


Cheers.  If Noel is working on that, then I'll turn my attention to 
something along the test lines.  Given my $REAL_LIFE constraints, maybe 
what I work on should fall farther from the LO critical path ...


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-12-09 Thread Kevin Hunter

At 7:03am -0500 Fri, 09 Dec 2011, Noel Grandin wrote:

I don't have any unit tests in my tree yet, so feel free to go
ahead.


Ah, what I'm going to be working on is the implementation of Cppunit for 
us such that we can have some niceties that would have helped me 
tremendously while getting up to speed with Calc and the ScPostIt 
stuffs.  Not unit tests per se.


I did write a couple of unit tests in that patch I sent your way a week 
ago, and some comments on some of the unit tests that I thought needed 
to be added, if you'd like to harvest so of that thought-process.


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-12-09 Thread Kevin Hunter

At 8:05am -0500 Fri, 09 Dec 2011, Stephan Bergmann wrote:

On 12/09/2011 12:55 PM, Kevin Hunter wrote:

Oh! I didn't realize cppunit was open for hacking from our end.



Not really. Keep in mind that LO's configure has
--with-system-cppunit, which people do make use of. The existing
patches fix bugs or warnings, and should have been upstreamed if
there were a living upstream. They do not introduce features.


Oh.  Back to square 1.5.


That said, AFAIU, xUnit in general and CppUnit in particular does
support the notion of finer-grained test suites, allowing one to
execute only a subset of a given set of tests. Never looked into how
that works, though.


Thank you.  I was hoping as much.  In any event, gots to study what's 
available to me with my couple hours a week ...


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-12-08 Thread Kevin Hunter

At 6:25am -0500 Thu, 24 Nov 2011, Michael Meeks wrote:

On Thu, 2011-11-24 at 01:05 -0500, Kevin Hunter wrote:

I wanted to create an ScDocument to work with in a new test file. I
was thinking in terms of test driven development and having some
tests such that I could execute only them, as something akin to:

$ make  just_this_set_of_tests


Ah - you just want to run a smaller set of tests, and faster than
running all of the 'make unittest' changes in master ?


Sorry for the late response ... in short, exactly.  More specifically, I 
wish there were a way to run exactly and only one test (i.e. a single 
::testFunction()).  Instead, they're currently bundled together in 
various files such that I can do what Stephan suggested ($ make 
/path/to/test.test).  I would find it helpful if in the development 
cycle, there were a way to run just what I want to run, to finer 
granularity than a file.


As already pointed out to me, this is currently time-infeasible for the 
common use case that compiles the whole project (given that each test 
would have to be _individually_ linked and executed); regardless, all I 
really wanted was a howto for my own personal machine in terms of the 
boiler plate I was apparently missing to accomplish this for the tests 
and LO code on which I'm currently working.  Having this would enable me 
to drastically reduce my compile wait time.  On my old hardware, that 
translates a 15-20s turnaround time about 3-4s.


Thus, commenting out was suggested, and is currently what I'm working with.

Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] how to acquire an ScDocument reference from scratch

2011-11-23 Thread Kevin Hunter

Hello List,

I'm trying to get hold of an ScDocument from scratch.  I have naively 
attempted to replicate another section of code, but for the life of me 
can't figure out what I'm missing.  My code crashes with a SIGSEGV on 
this line:


aDocShell = new ScDocShell();

I think I've boiled it down to a null pointer dereference (see attached, 
please), but that implies the existing code is incorrect, which I'm not 
yet ready to admit.


Any pointers very welcome.

Thanks,

Kevin
// - My code ...

[...]
#include docsh.hxx
[...]

SomeClass::SomeClass ( ) {
printf(Step 1: Construction ... );
fflush( stdout );

// This call dies, but I don't understand why.  I've traced it to
// 'getComponentContext' returning a NULL pointer, and below.
m_pDocSh = new ScDocShell();

printf(done.\n);  // -- this line never reached, as a SIGSEGV occurs
}


//
// In case it's pertinent, here's is the call stack at time of SIGSEGV:
//

// SvtViewOptionsBase_Impl::SvtViewOptionsBase_Impl(rtl::OUString const) 
(viewoptions.cxx:367)
// SvtViewOptions::AcquireOptions() (viewoptions.cxx:1246)
// SfxApplication::SfxApplication() (app.cxx:314)
// SfxApplication::GetOrCreate() (app.cxx:278)
// SfxGetpApp() (app.hxx:288)
// SfxObjectShell_Impl::SfxObjectShell_Impl(SfxObjectShell) (objxtor.cxx:287)
// SfxObjectShell::SfxObjectShell(unsigned long) (objxtor.cxx:302)
// ScDocShell::ScDocShell(unsigned long)
// ... a few more irrelevant stack pieces

//
// - Tracings through LO code
//   (I start tracing below within unotools/source/config/viewoptions.cxx )
//

// comphelper/source/processfactory/processfactory.cxx:getComponentContext
{
Reference XComponentContext  xRet;
// [...]
return xRet;  // at this point, xRet is NULL
}

//
// Which then makes this pass a NULL to theDefaultProvider::get
//
css::uno::Reference css::uno::XInterface  ConfigurationHelper::openConfig(
  const css::uno::Reference css::lang::XMultiServiceFactory  xSMGR,
  const ::rtl::OUString sPackage,
  sal_Int32 eMode
) {
css::uno::Reference css::lang::XMultiServiceFactory  xConfigProvider(
  css::configuration::theDefaultProvider::get(
getComponentContext( xSMGR )
  )
);
// [...]
}

//
// theDefaultProvider::Get then tries to use the NULL pointer:
//
class theDefaultProvider {
public:
static ::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory  get(
  ::com::sun::star::uno::Reference 
::com::sun::star::uno::XComponentContext  const  context
) {
::com::sun::star::uno::Reference 
::com::sun::star::lang::XMultiServiceFactory  instance;

// This line is what appears to fail, as 'context' is currently 
a
// NULL pointer
if ( ! ( context-getValueByName( 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(/singletons/com.sun.star.configuration.theDefaultProvider)))
 = instance) || !instance.is() )
throw 
::com::sun::star::uno::DeploymentException(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(component
 context fails to supply singleton 
com.sun.star.configuration.theDefaultProvider of type 
com.sun.star.lang.XMultiServiceFactory)), context);

return instance;
}

// [...]
}
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-11-23 Thread Kevin Hunter

At 7:56pm -0500 Wed, 23 Nov 2011, Markus Mohrhard wrote:

Can you explain in a bit more detail what you want to do. You can't
just create a new ScDocShell, you always need to do some
initialisation before. Depending on what you want to do you should
not need to create the ScDocShell yourself.


Well, I'd like to have some way of creating a new ScDocument.  In 
looking through sc/qa/unit/ucalc.cxx, it /appears/ that all I need do is:


m_xDocShRef = new ScDocShell(
   SFXMODEL_STANDARD
 | SFXMODEL_DISABLE_EMBEDDED_SCRIPTS
 | SFXMODEL_DISABLE_DOCUMENT_RECOVERY
);

I'm clearly missing something, likely in regards to 
BootstrapFixture::setUp() and ScDLL::Init().  Help!


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to acquire an ScDocument reference from scratch

2011-11-23 Thread Kevin Hunter

At 8:45pm -0500 Wed, 23 Nov 2011, Kohei Yoshida wrote:

On Wed, 2011-11-23 at 20:33 -0500, Kevin Hunter wrote:

At 7:56pm -0500 Wed, 23 Nov 2011, Markus Mohrhard wrote:

Can you explain in a bit more detail what you want to do. You
can't just create a new ScDocShell, you always need to do some
initialisation before. Depending on what you want to do you
should not need to create the ScDocShell yourself.


Well, I'd like to have some way of creating a new ScDocument.


And could you tell us what you need to do that for?  Providing more
details as to what area of code you are modifying, including the file
name and class name (if applicable), and what end result you want to
see would give us more context of what you are doing.


This was answered and responded to out-of-band as follows:

I wanted to create an ScDocument to work with in a new test file.  I was 
thinking in terms of test driven development and having some tests such 
that I could execute only them, as something akin to:


$ make  just_this_set_of_tests

I was educated that because each separate test file needs an entirely 
separate invocation of soffice (and all that that entails), this is not 
a desirable avenue for the general use-case of running all tests.  LO is 
nowhere near able to work in a TDD environment, and, short of much 
rewriting, will not be there anytime soon.  Thus, the answer to my 
question boiled down to: during development or bug hunting, comment out 
all superfluous tests in another, existing test file.


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Assertions and Logging

2011-11-21 Thread Kevin Hunter

At 11:53am -0500 Mon, 21 Nov 2011, Stephan Bergmann wrote:

It would be good if such impossible to proceed situations would
lead to uncaught exceptions [...] or clear error messages from within
LO (this functionality is unavailable (detailed error message:
...)), instead of LO silently doing nothing (as is so often the case
today, e.g., when you choose a menu item that triggers functionality
that requires Java, and you don't have a JVM).


I'm not sure if that was a conclusion to this thread, but are we 
documenting this kind of decision in a concise format (and hopefully 
single page) on the wiki?  After a few minutes of looking, all I see is 
this page:


http://wiki.documentfoundation.org/Development#General_Programming_Guidelines

For us non-core folks who aren't able to follow every message, and new 
devs in general, having a page of LO coding style and various examples 
of what (not) to do would, at least for me, be very helpful.


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] unable to pass tests ...

2011-11-17 Thread Kevin Hunter

Hiya LO List,

I've finally gotten a new build completed, but I'm unable to pass a 
couple of tests.  Unfortunately, I think the tests aren't even able to 
run, but I don't currently know how to step into this.  Can anyone give 
me a pointer, given the attached test output?


Many thanks,

Kevin
$ cd [...]/libreoffice/sc/

$ make check
[ build CUT ] sc_filters_test
make[1]: Entering directory `[...]/libreoffice/sc'
R=/home/kevin/devel  S=$R/libreoffice  O=$S/solver/unxlngx6.pro  
W=$S/workdir/unxlngx6.pro   mkdir -p $W/CppunitTest/  
(LD_LIBRARY_PATH=$O/lib:$O/lib/sqlite STAR_RESOURCEPATH=$O/bin/   
$O/bin/cppunit/cppunittester 
$W/LinkTarget/CppunitTest/libtest_sc_filters_test.so --headless --protector 
unoexceptionprotector.so unoexceptionprotector 
-env:CONFIGURATION_LAYERS=xcsxcu:file://$O/xml/registry 
module:file://$O/xml/registry/spool   -env:UNO_TYPES= 
file://$O/bin/udkapi.rdb  file://$O/bin/types.rdb  
-env:UNO_SERVICES=file://$O/xml/ure/services.rdb  
file://$W/ComponentTarget/basic/util/sb.component  
file://$W/ComponentTarget/comphelper/util/comphelp.component  
file://$W/ComponentTarget/dbaccess/util/dba.component  
file://$W/ComponentTarget/fileaccess/source/fileacc.component  
file://$W/ComponentTarget/filter/source/config/cache/filterconfig1.component  
file://$W/ComponentTarget/forms/util/frm.component  
file://$W/ComponentTarget/framework/util/fwk.component  
file://$W/ComponentTarget/i18npool/util/i18npool.component  
file://$W/ComponentTarget/oox/util/oox.component  
file://$W/ComponentTarget/package/source/xstor/xstor.component  
file://$W/ComponentTarget/package/util/package2.component  
file://$W/ComponentTarget/sax/source/expatwrap/expwrap.component  
file://$W/ComponentTarget/sax/source/fastparser/fastsax.component  
file://$W/ComponentTarget/sc/util/sc.component  
file://$W/ComponentTarget/sc/util/scfilt.component  
file://$W/ComponentTarget/sfx2/util/sfx.component  
file://$W/ComponentTarget/sot/util/sot.component  
file://$W/ComponentTarget/toolkit/util/tk.component  
file://$W/ComponentTarget/unotools/util/utl.component  
file://$W/ComponentTarget/unoxml/source/rdf/unordf.component  
file://$W/ComponentTarget/unoxml/source/service/unoxml.component  
file://$W/ComponentTarget/xmlsecurity/util/xsec_fw.component  
file://$W/ComponentTarget/xmlsecurity/util/xmlsecurity.component  
file://$W/ComponentTarget/xmlsecurity/util/xsec_xmlsec.component  
file://$O/xml/configmgr.component  file://$O/xml/ucb1.component  
file://$O/xml/ucpfile1.component  file://$O/xml/ucptdoc1.component   
-env:URE_INTERNAL_LIB_DIR=file://$O/lib  -env:LO_LIB_DIR=file://$O/lib  
$W/CppunitTest/sc_filters_test.test.log 21 || (cat 
$W/CppunitTest/sc_filters_test.test.log  echo; echo Error: a unit test 
failed, please do one of:; echo; echo export DEBUGCPPUNIT=TRUE# 
for exception catching; echo export GDBCPPUNITTRACE=\gdb --args\ # for 
interactive debugging; echo export VALGRIND=memcheck# for memory 
checking ; echo and retry.  false))
##Failure Location unknown## : Error
Test name: ScFiltersTest::testCVEs
setUp() failed
- An uncaught exception of type com.sun.star.registry.InvalidRegistryException
- file://[...]/libreoffice/workdir/unxlngx6.pro/ComponentTarget/uno
xml/source/rdf/unordf.component: component has empty uri attribute

##Failure Location unknown## : Error
Test name: ScFiltersTest::testCVEs
tearDown() failed
- An uncaught exception of type com.sun.star.uno.RuntimeException
- unsatisfied query for interface of type com.sun.star.lang.XComponent!

##Failure Location unknown## : Error
Test name: ScFiltersTest::testRangeName
setUp() failed
- An uncaught exception of type com.sun.star.registry.InvalidRegistryException
- file://[...]/libreoffice/workdir/unxlngx6.pro/ComponentTarget/uno
xml/source/rdf/unordf.component: component has empty uri attribute

##Failure Location unknown## : Error
Test name: ScFiltersTest::testRangeName
tearDown() failed
- An uncaught exception of type com.sun.star.uno.RuntimeException
- unsatisfied query for interface of type com.sun.star.lang.XComponent!

##Failure Location unknown## : Error
Test name: ScFiltersTest::testContent
setUp() failed
- An uncaught exception of type com.sun.star.registry.InvalidRegistryException
- file://[...]/libreoffice/workdir/unxlngx6.pro/ComponentTarget/uno
xml/source/rdf/unordf.component: component has empty uri attribute

##Failure Location unknown## : Error
Test name: ScFiltersTest::testContent
tearDown() failed
- An uncaught exception of type com.sun.star.uno.RuntimeException
- unsatisfied query for interface of type com.sun.star.lang.XComponent!

##Failure Location unknown## : Error
Test name: ScFiltersTest::testFunctions
setUp() failed
- An uncaught exception of type com.sun.star.registry.InvalidRegistryException
- file://[...]/libreoffice/workdir/unxlngx6.pro/ComponentTarget/uno
xml/source/rdf/unordf.component: component has empty uri attribute

##Failure Location unknown## : Error
Test name: 

Re: [Libreoffice] unable to pass tests ...

2011-11-17 Thread Kevin Hunter

At 11:22am -0500 Thu, 17 Nov 2011, Stephan Bergmann wrote:

On 11/17/2011 05:16 PM, Kevin Hunter wrote:

- file://[...]/libreoffice/workdir/unxlngx6.pro/ComponentTarget/uno
xml/source/rdf/unordf.component: component has empty uri attribute


Looks like you fell victim to the component file mess (where last round
of mess there was that a make clean in one module can corrupt
component files from other modules). Please try a global

find */${INPATH?}/ -name \*.component -exec rm {} \;

followed by a global make check again.


Thank you both.  Weird that I started from a 'make distclean' last night 
... but now the build fails on the tests I've just written, which is 
much more expected.


Thank you,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [Libreoffice-ux-advise] [PATCH] Word count dialog modeless

2011-11-16 Thread Kevin Hunter

At 12:51pm -0500 Wed, 16 Nov 2011, Astron wrote:

On 15 November 2011 19:15, Michael Meeks wrote:

:-) sounds reasonable. My only concern would be to make it
discoverable and of course performance: would we take a
per-keystroke hit there ? so perhaps having it easy-to-enable but
disabled by default would make sense.


How large is the hit? Has anyone measured already? Personally, I
can't really perceive anything when comparing writing with the Word
Count window open v/ without it.


It seems to me to be an issue of how one implements the word count 
statistics collection.  Are the word count statistics constantly kept 
up-to-date via a incrementers/decrementers per key-stroke?  Or are they 
only collected upon request?


From a brief and unscientific test of copying 10MiB of copy and paste 
text into a Writer document, waiting while it paginates to 2250 pages, 
then timing how long it takes for the Word Count dialog to give results, 
it would appear the former: every keystroke /already/ calculates the 
these statistics.


Thus, my first un-educated guess is that this should have very little 
performance impact.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [Libreoffice-commits] .: basic/inc basic/source

2011-11-15 Thread Kevin Hunter

At 7:19am -0500 Tue, 15 Nov 2011, Fridrich Štrba wrote:

New commits:
commit 1f2d0c83d07b2c877722069c0075ba35860a0400
Author: Fridrich Štrba
Date:   Tue Nov 15 13:19:24 2011 +0100

 Put back a method needed by Windows and reformat a bit

diff --git a/basic/inc/basic/sbxvar.hxx b/basic/inc/basic/sbxvar.hxx
index 485c33e..08e8002 100644
--- a/basic/inc/basic/sbxvar.hxx
+++ b/basic/inc/basic/sbxvar.hxx
@@ -212,6 +212,7 @@ public:

  // Special methods
  sal_Bool PutDecimal( com::sun::star::bridge::oleautomation::Decimal  
rAutomationDec );
+sal_Bool PutDecimal( SbxDecimal* pDecimal ); // This function is needed 
for Windows build, don't remove
  sal_Bool fillAutomationDecimal( 
com::sun::star::bridge::oleautomation::Decimal  rAutomationDec );


Naive question: if it's only needed for Windows, is this not a place for 
an #ifdef ?


Kevin

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


[Libreoffice] uno discoverability

2011-11-15 Thread Kevin Hunter

Hullo List,

I'm working on a school project that involves UNO with Python (talking 
to LO from an external invocation of Python).  One of the things that I 
find extremely frustrating is the lack of discoverability from within 
the Python context.  The interactive shell (IPython package and 
IPython.embed() ) is an amazing tool for debugging and data structure 
discovery (with the power of tab-completion, among other things), but 
when most functions are hardly documented, it reduces the 
discoverability to educated guesswork and actual C++ code inspection.


1. Is there an intentional reason for a lack of this sort of builtin 
documentation?


For example, within the Python shell:

 import uno
[...boiler plate to setup desktop variable from UNO...]
 help(desktop.loadComponentFromURL)
Help on PyUNO_callable object:

class PyUNO_callable(object)
 |  Methods defined here:
 |
 |  __call__(...)
 |  x.__call__(...) == x(...)



which is hardly useful to know what loadComponentFromURL actually does.

2. If there is not an intentional reason, would drive by documentation 
efforts (as I discover them, and certainly to be improved, but better 
than nothing), be generally appreciated?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] uno discoverability

2011-11-15 Thread Kevin Hunter

At 12:00pm -0500 Tue, 15 Nov 2011, Michael Meeks wrote:

there are some real issues here, inasmuch that it can't be known
until run-time what interfaces are supported, and lots of type
information disappears down the toilet around queryInterfaces and
'any's. Unfortunately, this makes the API hardly fit-for-purpose for
simple scripting use, but extending the API to make it fit (eg. by
having a flat set of implementation interfaces - complete with
default parameter types etc.) is conceptually problematic ;-)


Is it similarly as convoluted and difficult to have an explanation with, 
say, RuntimeExceptions?  For instance, with a document with only one 
sheet, one should not be able to remove the last sheet, right?


 doc.Sheets.removeByName('Sheet1')
---
com.sun.star.uno.RuntimeException Traceback (most recent call last)

/home/kevin/ram/temoa/branches/tmpp/ipython console in module()

com.sun.star.uno.RuntimeException:



Which is correct of course, but not terribly elucidating (note the empty 
trailing colon).  Would this be a simple case of putting an RTL...string 
in removeByName in docuno.cxx?


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [Libreoffice-commits] .: sc/inc sc/source

2011-11-15 Thread Kevin Hunter

At 3:21pm -0500 Tue, 15 Nov 2011, Kohei Yoshida wrote:

  sc/inc/cell.hxx   |4 ++--
  sc/source/core/data/cell2.cxx |   10 ++
  2 files changed, 12 insertions(+), 2 deletions(-)

New commits:
commit 87be97a31d8686e3e6e976bb5585b32c096ca19d
Author: Kohei Yoshidakohei.yosh...@suse.com
Date:   Tue Nov 15 15:20:13 2011 -0500

 Make these two methods non-inline.


From the curious cat: why?  As I slowly code, are there coding 
guidelines of which I should be aware but have missed?  Are you working 
toward keeping signatures in one place and definitions/instantiations in 
another?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [Libreoffice-commits] .: sc/inc sc/source

2011-11-15 Thread Kevin Hunter

At 12:28am -0500 Wed, 16 Nov 2011, Kohei Yoshida wrote:

On Wed, Nov 16, 2011 at 12:21 AM, Kevin Hunter wrote:

 From the curious cat: why?


Because that made it easier to debug whatever I was debugging.  Plus,
I don't believe in those implicitly inline methods, especially in
headers that are included by millions.  Imagine if you have to
re-compile hundreds of source files every time you change the
header...


Heh, been there, done that.  /Doing/ that as I type.  And still 
compiling that ...


Thanks for the info.  Would you like me to do similar, as I note them 
while working on/learning notes?


Kevin

P.S. Still compiling, because of a header change.
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [PATCH] make STR_MERGE_NOTEMPTY more understandable

2011-11-10 Thread Kevin Hunter

At 3:15pm -0500 Wed, 09 Nov 2011, Kohei Yoshida wrote:

On Wed, 2011-11-09 at 18:40 +0100, Maxime de Roucy wrote:

Summary :
Isn't Should the contents of all cells be concatenated and moved
into the merged cell? better ?


I like the following better:

Do you want to merge the contents of the selected cells into one
cell? Clicking 'No' will only retain the content of the upper-left
cell.

And I agree that the current message is very awkward.


Heh, having run into that message more than few times in the past month, 
I, too, agree about its awkwardness.  One more suggestion from the 
peanut gallery:


Don't use No and Yes, but rather something more action-oriented, 
like Merge cells and Cancel.  Jeff Waugh had an excellent 
presentation and visual (circa 2006/7) to show what the user sees, but 
of course my google is poor this evening. The summary is The entire 
dialog box is blurred/not readable, and the only visible parts are the 
buttons; the user should still be able to discern what action each 
button executes.


That said, I'm clearly not a UI fella, and it was suggested elsewhere in 
this thread that this might be a UI issue ...


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] how to 'make' a single target?

2011-10-30 Thread Kevin Hunter

At 9:29pm -0400 Sat, 29 Oct 2011, Bjoern Michaelsen wrote:

On Sat, Oct 29, 2011 at 06:17:09PM -0400, Kevin Hunter wrote:

This is proving very cumbersome, however, as I'm unable to re-make
just the affected files. For instance



$ make -j1 | head; sleep; make -j1 | head


The attached output indeed should never happen. What file did you
touch to generate it?


Between those two make runs?  Nada.  (That's why I showed it working in 
one shell command line.)  If you mean before I started the compile, I'd 
touched a bunch of ScPostIt* related files in sc/inc and 
sc/source/core/data.


However, I churned through the slow build time about 20 times last night 
until I was finally able to build 'sc'.  Now the behavior seems to be 
correct, in that only the necessary files are actually built.  I.e. I 
can no longer recreate that behavior.


From the outside, it smells to me like there is a transactional 
behavior defined in the make files.  That is, if all the files of a 
certain transaction don't get built properly, then the build redoes all 
of them.  Is that expected/intentional behavior?  Or did I just hit some 
corner case in my sc/ modifications?



Should not at least the first 3 completed executions no longer need
to be re-executed?


Yes. Could you check the timestamps of
(1) [...]/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difexp.d
being newer than
(2) [...]/workdir/unxlngx6.pro/CxxObject/sc/source/filter/dif/difexp.o
and that again being newer than
(3) [...]/sc/source/filter/dif/difexp.cxx
, please?


Last night, (2) was newer than (1), (1) was newer than (3).  Now, after 
a couple of successful builds,  (3) is newer than (2), which is newer 
than (1).  Summary (= == younger than):


Before success: (2) = (1) = (3)
After success:  (3) = (2) = (1)

In any event, since I can't recreate it anymore, and it seems to be 
working fine, I'm moving on ...


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Suggestions for improving the look 'n' feel of LibreOffice

2011-10-30 Thread Kevin Hunter

At 6:40pm -0400 Sat, 29 Oct 2011, alexander.wi...@zoho.com  wrote:

I've just created this small mock-up, of what I think could be a
good solution:

http://wiki.documentfoundation.org/User:Toxicbits


That seems a good start.  But let's see if some other devs have any 
thoughts, or if ... is it Christoph Noack?  (the design team liason?) 
... have any thoughts.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Suggestions for improving the look 'n' feel of LibreOffice

2011-10-29 Thread Kevin Hunter

At 12:57pm -0400 Fri, 28 Oct 2011, Alexander Wilms wrote:

There's a short summary with a few examples in this document:
http://ubuntuone.com/7m7AXgeh7OIwGBiCOHAjGh

1) It would be useful if the user could define alternating colors
for table rows/columns and maybe even export Styles for
text/shapes/tables formatting and coloring to a xml file or something
for easy exchange.


I concur that this would be very helpful, at least in my line(s) of 
work.  I hope, however, that it could be more general than just every 
other row/column.  For instance, there are times I need every 3rd row 
to be colored, or I need a set of 2 rows colored every 2 rows. 
Something like


Row 1: color 1
Row 2: color 1
Row 3: color 2
Row 4: color 2
Row 5: color 1
Row 6: color 1
Row 7: color 2
Row 8: color 2
etc.

I've done this manually to date, but having a general description or way 
to handle this would be *very* nice.


As to how difficult it would be to implement?  I don't know.  I'm not 
working in that part of the code.  However, I'll bet an interested 
(coding) party would have an easier time going about it if there were an 
actual use-case/specification.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] master eat CPU even when it does nothing

2011-10-29 Thread Kevin Hunter

At 1:12am -0400 Sat, 29 Oct 2011, Jean-baptiste Faure wrote:

I already noticed these cpu problems in my own build since 2 or 3
days, but I can't be more precise.

Does somebody has a clue about the cause (which commit?) of this CPU
consumption?


I don't specifically, but my hunch is that it's some interaction with 
the newly merged GTK code.  I've noticed the same CPU utilization, but 
-- like you -- have been unable to say exactly what triggers it; I can 
only say when I started noticing it.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] how to 'make' a single target?

2011-10-29 Thread Kevin Hunter

Hullo List,

I'm currently working in the sc/ module, and I'm in the make small 
change, re-compile, make small change, re-compile stage.  This is 
proving very cumbersome, however, as I'm unable to re-make just the 
affected files.  For instance, note my attached output, showing the 
output of


$ make -j1 | head; sleep; make -j1 | head

Should not at least the first 3 completed executions no longer need to 
be re-executed?


This is frustrating because it results in a latency of 5+ minutes on my 
slow 2-core machine before I can see the results of a code change.


Are there any pointers for me on how I can compile _just the exact_ 
piece of code on which I'm working (and affected other snippets, of course)?


Thanks,

Kevin
$ . Env.Host.sh

$ cd sc/

$ echo; make -j1 | head; echo -e \n-\nFinished 1st round\n-; sleep 
2s; make -j1 | head

[ build CXX ] sc/source/filter/dif/difexp
R=[...]  S=$R/libreoffice  O=$S/solver/unxlngx6.pro  
W=$S/workdir/unxlngx6.pro   mkdir -p $W/CxxObject/sc/source/filter/dif/ 
$W/Dep/CxxObject/sc/source/filter/dif/  ccache g++ -DCPPU_ENV=gcc3 
-DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 
-DGCC -DGXX_INCLUDE_PATH=/usr/local/include/c++/4.6.1 
-DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_THREADSAFE_STATICS -DLINUX -DNDEBUG 
-DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DSUPD=350 -DUNIX -DUNX -DVCL -DX86_64 
-D_PTHREADS -D_REENTRANT-Wall -Wendif-labels -Wextra -Wshadow -Wsign-promo 
-Woverloaded-virtual -Wno-non-virtual-dtor -fPIC -fmessage-length=0 -fno-common 
-pipe  -fvisibility=hidden  -fvisibility-inlines-hidden  -std=c++0x   
-DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs  -O2 -c 
$S/sc/source/filter/dif/difexp.cxx -o 
$W/CxxObject/sc/source/filter/dif/difexp.o -MMD -MT 
$W/CxxObject/sc/source/filter/dif/difexp.o -MP -MF 
$W/Dep/CxxObject/sc/source/filter/dif/difexp.d -I$S/sc/source/filter/dif/ 
-I$O/inc/stl -I$S/sc/source/core/inc -I$S/sc/source/filter/inc 
-I$S/sc/source/ui/inc -I$S/sc/inc -I$S/sc/inc/pch -I$W/Misc/sc/ 
-I$O/inc/external -I$O/inc -I$O/include -I$S/solenv/unxlngx6/inc 
-I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I$W/oox/inc/ -I$O/inc  
-I$O/inc/offapi -I$O/inc/udkapi
touch 
/home/kevin/devel/libreoffice/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difexp.d
[ build CXX ] sc/source/filter/dif/difimp
R=[...]  S=$R/libreoffice  O=$S/solver/unxlngx6.pro  
W=$S/workdir/unxlngx6.pro   mkdir -p $W/CxxObject/sc/source/filter/dif/ 
$W/Dep/CxxObject/sc/source/filter/dif/  ccache g++ -DCPPU_ENV=gcc3 
-DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 
-DGCC -DGXX_INCLUDE_PATH=/usr/local/include/c++/4.6.1 
-DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_THREADSAFE_STATICS -DLINUX -DNDEBUG 
-DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DSUPD=350 -DUNIX -DUNX -DVCL -DX86_64 
-D_PTHREADS -D_REENTRANT-Wall -Wendif-labels -Wextra -Wshadow -Wsign-promo 
-Woverloaded-virtual -Wno-non-virtual-dtor -fPIC -fmessage-length=0 -fno-common 
-pipe  -fvisibility=hidden  -fvisibility-inlines-hidden  -std=c++0x   
-DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs  -O2 -c 
$S/sc/source/filter/dif/difimp.cxx -o 
$W/CxxObject/sc/source/filter/dif/difimp.o -MMD -MT 
$W/CxxObject/sc/source/filter/dif/difimp.o -MP -MF 
$W/Dep/CxxObject/sc/source/filter/dif/difimp.d -I$S/sc/source/filter/dif/ 
-I$O/inc/stl -I$S/sc/source/core/inc -I$S/sc/source/filter/inc 
-I$S/sc/source/ui/inc -I$S/sc/inc -I$S/sc/inc/pch -I$W/Misc/sc/ 
-I$O/inc/external -I$O/inc -I$O/include -I$S/solenv/unxlngx6/inc 
-I$S/solenv/inc -I$S/res -I$S/solenv/inc/Xp31 -I$W/oox/inc/ -I$O/inc  
-I$O/inc/offapi -I$O/inc/udkapi
touch 
/home/kevin/devel/libreoffice/workdir/unxlngx6.pro/Dep/CxxObject/sc/source/filter/dif/difimp.d
[ build CXX ] sc/source/filter/excel/colrowst
R=[...]  S=$R/libreoffice  O=$S/solver/unxlngx6.pro  
W=$S/workdir/unxlngx6.pro   mkdir -p $W/CxxObject/sc/source/filter/excel/ 
$W/Dep/CxxObject/sc/source/filter/excel/  ccache g++ -DCPPU_ENV=gcc3 
-DENABLE_GRAPHITE -DENABLE_GTK -DENABLE_LAYOUT=0 -DENABLE_LAYOUT_EXPERIMENTAL=0 
-DGCC -DGXX_INCLUDE_PATH=/usr/local/include/c++/4.6.1 
-DHAVE_GCC_VISIBILITY_FEATURE -DHAVE_THREADSAFE_STATICS -DLINUX -DNDEBUG 
-DOPTIMIZE -DOSL_DEBUG_LEVEL=0 -DPRODUCT -DSUPD=350 -DUNIX -DUNX -DVCL -DX86_64 
-D_PTHREADS -D_REENTRANT-Wall -Wendif-labels -Wextra -Wshadow -Wsign-promo 
-Woverloaded-virtual -Wno-non-virtual-dtor -fPIC -fmessage-length=0 -fno-common 
-pipe  -fvisibility=hidden  -fvisibility-inlines-hidden  -std=c++0x   
-DEXCEPTIONS_ON -fexceptions -fno-enforce-eh-specs  -O2 -c 
$S/sc/source/filter/excel/colrowst.cxx -o 
$W/CxxObject/sc/source/filter/excel/colrowst.o -MMD -MT 
$W/CxxObject/sc/source/filter/excel/colrowst.o -MP -MF 
$W/Dep/CxxObject/sc/source/filter/excel/colrowst.d -I$S/sc/source/filter/excel/ 
-I$O/inc/stl -I$S/sc/source/core/inc -I$S/sc/source/filter/inc 
-I$S/sc/source/ui/inc -I$S/sc/inc -I$S/sc/inc/pch -I$W/Misc/sc/ 
-I$O/inc/external -I$O/inc -I$O/include -I$S/solenv/unxlngx6/inc 

[Libreoffice-commits] .: sc/source

2011-10-28 Thread Kevin Hunter
 sc/source/core/data/cell.cxx |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit dfab4794d7cb98bb993ada22165da84168f89d00
Author: Kevin Hunter hunt...@earlham.edu
Date:   Thu Oct 27 22:34:15 2011 -0400

Translate message to English

And elaborate slightly.

diff --git a/sc/source/core/data/cell.cxx b/sc/source/core/data/cell.cxx
index 0a4bd3c..49c94a5 100644
--- a/sc/source/core/data/cell.cxx
+++ b/sc/source/core/data/cell.cxx
@@ -275,7 +275,7 @@ void ScBaseCell::Delete()
 delete (ScNoteCell*) this;
 break;
 default:
-OSL_FAIL(Unbekannter Zellentyp);
+OSL_FAIL(Attempt to Delete() an unknown CELLTYPE);
 break;
 }
 }
___
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: [Libreoffice] semantics of ScBaseCell* lclCloneCell

2011-10-27 Thread Kevin Hunter

At 2:49am -0400 Thu, 27 Oct 2011, Stephan Bergmann wrote:

On 10/27/2011 07:10 AM, Kevin Hunter wrote:

I'm nosing around ScBaseCell in sc/source/core/data/cell.cxx, and I'm
curious about the semantics of the function lclCloneCell. Specifically,
when would that function ever return a NULL pointer? Does Calc not know
about all its cell types? Perhaps extensions are able to add their own
cell types and still use this function? (Then why would they use this
function?!)


Not an sc expert, but from looking at the code it looks to me like the
default case shall never be reached, but is there to (a) silence
compiler warnings and (b) fire an OSL_FAIL in case there is a
programming error that causes the case to be reached nonetheless (I
usually put a this cannot happen into such OSL_FAILs, in good old
Knuth tradition). And since the function still needs to syntactically
return something, even in this unreachable case, it returns the
canonic null value.


Huh.  Then why use a switch?  Why not use an if-else set of clauses?  I 
recognize that this function may be called a lot, but does an if vs 
switch statement mean /that/ much in terms of performance?


In any event, thanks for the response.

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] semantics of ScBaseCell* lclCloneCell

2011-10-26 Thread Kevin Hunter

Hullo Calc Devs,

I'm nosing around ScBaseCell in sc/source/core/data/cell.cxx, and I'm 
curious about the semantics of the function lclCloneCell.  Specifically, 
when would that function ever return a NULL pointer?  Does Calc not know 
about all its cell types?  Perhaps extensions are able to add their own 
cell types and still use this function?  (Then why would they use this 
function?!)


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] feature/gtk3 merged ...

2011-10-26 Thread Kevin Hunter

On 10/25/2011 04:32 PM, Noel Grandin wrote:

Getting there :) almost have a complete build on my machine :)


After a long build, I'm there.  As I'm not mired in that part of LibO 
internals, for what visible changes should I be looking?


Heh, or put differently, what Ctrl+F should I use on

http://wiki.documentfoundation.org/ReleaseNotes/3.5 ?  ;-)

Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [Libreoffice-commits] .: writerperfect/source

2011-10-24 Thread Kevin Hunter

At 7:24pm -0400 Mon, 24 Oct 2011, Fridrich Štrba wrote:

New commits:
commit 38cf494f90d19d1673773437cd52e8f0cfbf4eb5
Author: Fridrich Štrba fridrich.st...@bluewin.ch
Date:   Tue Oct 25 01:11:49 2011 +0200

White-space change to fix messy mix of different coding styles


[...]


diff --git a/writerperfect/source/filter/FontStyle.cxx 
b/writerperfect/source/filter/FontStyle.cxx
index 5743e1e..ac501c6 100644



  void FontStyleManager::clean()
  {
  for (std::mapWPXString, FontStyle *, ltstr::iterator iter = 
mHash.begin();
- iter != mHash.end(); ++iter)
+iter != mHash.end(); iter++)
  {



@@ -65,7 +63,7 @@ void 
FontStyleManager::writeFontsDeclaration(OdfDocumentHandler *pHandler) const



  for (std::mapWPXString, FontStyle *, ltstr::const_iterator iter = 
mHash.begin();
- iter != mHash.end(); ++iter)
+iter != mHash.end(); iter++)


Err, in terms of coding style, is a pre to post increment operator 
merely a whitespace change?  I seem to recall a message or two on the 
subject but I'm having a difficult time tracking them down just now. 
About 8 months ago, perhaps?


Kevin

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


Re: [Libreoffice] [Libreoffice-commits] .: writerperfect/source

2011-10-24 Thread Kevin Hunter

At 9:48pm -0400 Mon, 24 Oct 2011, Kevin Hunter wrote:

At 7:24pm -0400 Mon, 24 Oct 2011, Fridrich Štrba wrote:

for (std::mapWPXString, FontStyle *, ltstr::const_iterator iter =
mHash.begin();
- iter != mHash.end(); ++iter)
+ iter != mHash.end(); iter++)


Err, in terms of coding style, is a pre to post increment operator
merely a whitespace change? I seem to recall a message or two on the
subject but I'm having a difficult time tracking them down just now.
About 8 months ago, perhaps?


Kevin: open mouth, insert foot.  I apologize.  Just perusing commits, 
should've kept going.  I take it the pre to post is needed to fix the 
build.


Kevin

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


Re: [Libreoffice] minutes of tech. steering call ...

2011-10-21 Thread Kevin Hunter

At 4:39am -0400 Fri, 21 Oct 2011, Michael Meeks wrote:

[one /could/ work toward interprocess extensions ... ] But of course,
I personally think there is much lower hanging fruit in the calc core
;-)


Noted and agreed!  I'm just sticking my nose in all things LO, probably 
stepping on toes as I do (sorry!).  I was more posing the question that 
I wasn't aware had gone by.  However, it sounds like y'all've already 
thought about that, or it's a everyone already knows this answer.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] minutes of tech. steering call ...

2011-10-21 Thread Kevin Hunter

At 4:11am -0400 Fri, 21 Oct 2011, Stephan Bergmann wrote:

On 10/21/2011 02:06 AM, Kevin Hunter wrote:

5. That API definition will be a *lot* of work, but hopefully somewhat
thought out already through only a mild reengineering of the current
binary API.


The UNO API is already there. Or what do you mean?


I was talking about an API that is not dependent on an ABI.  But I 
freely admit I know very little about ABIs, so I may have just conflated 
that term.  See below.



The upside is that if we're talking a major version change, /now/ would
be the time to do this.


A downside is that you would still need to maintain (and build!) the UNO
runtime for the MSVC ABI.


This may be the crux of what I'm not getting, but why?  Why can't a 
protocol be, say, text-based via (local, or other) socket?  In my mind, 
I see two independent programs, from two different compilers, using the 
OS and something akin to pipes to communicate.  I admit it might a 
smidgen slower to do it that way, but do people actually use LO in HPC 
scenarios?  (And I fully accept that they might, I just haven't seen it 
yet in my various interactions.)


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] make experts: progress information?

2011-10-21 Thread Kevin Hunter

At 5:16am -0400 Fri, 21 Oct 2011, Michael Meeks wrote:

On Thu, 2011-10-20 at 14:20 -0400, Kevin Hunter wrote:

That said, I anecdotally note on my limited-in-hardware machine,
that a consecutive run of make is almost instantaneous. Would a
make -pn really be that expensive?


Try running a no-op incremental make in tail_build :-) it's more
like 30+ seconds: now that of course also needs some love, and it is
some reasonably fun pure comp-sci type problem with no real need to
understand any of the LibO code-base; if someone wants an easy hack
;-)


Kevin: 0
Everyone else: 1

Touché,

Kevin

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


Re: [Libreoffice] Calc - a better design ...

2011-10-20 Thread Kevin Hunter

Hi Michael,

I'm hesitant to ask this because I cannot personally promise time toward 
LO (only on an as-can basis, which is dismally small ATM), but hey, you 
can easily so no.  :-)  You mention really need[ing] a whiteboard to 
elaborate properly.  I submit that putting your thoughts together, 
perhaps in picture form and available on the LO wiki, or put together as 
a small video to Youtube, would be extremely useful to casual LO coders 
like myself.  As an individual volunteer without a face-to-face LO team 
member against whom to bounce ideas, I'd thoroughly love an 
actual-paid-engineer's thoughts on how best to proceed on this front.


I'm personally motivated for Calc because in my science career, I really 
have to bend over backwards to make Calc work effectively for my needs 
where Excel works just plain better/faster/smaller, yet I 
philosophically have stuck myself with Free software.  To me, one of the 
biggest areas of weakness for LO, after the various random crashes 
(which are getting better!), is the memory bloat, and speed.  It's not 
features.


I'm happy to mess with Ixion (and indeed have poked at it some already), 
but I imagine the going would be much more useful with a LO core 
developer's guiding thoughts, including technical end-goals and 
migration paths.


So, would you have the time to create a screencast or video of yourself 
in front of a whiteboard?


Cheers,

Kevin

At 9:42am -0400 Wed, 27 Jul 2011, Michael Meeks wrote:

Hi Kevin,

On Wed, 2011-07-27 at 06:56 -0400, Kevin Hunter wrote:

At 6:07am -0400 Wed, 27 Jul 2011, Michael Meeks wrote:

but IMHO -the- fundamental design problem with calc, is something
quite banal - the concept that a spreadsheet is built from cells:
without breaking that basic misconception I don't think we can do
any of the really interesting space / time optimisations we need to
do.


Can you elaborate a little on this fundamental design flaw ?


Hah - so, yes - and not easily - I'd really need a whiteboard.


  As a naive and unfortunately focused elsewhere personality, I don't
immediately know of a better model for creating a spreadsheet.


So - of course, the first thing to say is that (at a first pass), I'd
want the UI to continue to look the same - all that would change would
be the underlying model.


   Is it just a problem of sparsity?  Or is there a much more
sophisticated method for memory sharing of various similar cell
attributes, perhaps analogous to CSS?


Here is the thing - since we work on a per-cell basis, all of our type
checking, and formula adaptation, and storage, and dependencies etc. are
all ultimately per-cell based. This (crudely) means that we have an O(n)
where n is the number of cells in vast numbers of operations where we do
not want it. It also tends to explode storage and computation time
around dependencies - which is a substantial cost.

NB. much of this is quite normal for a spreadsheet FWIW, I believe
Excel is not completely dis-similar; however I think we can do better
with much improved (much more complex / slow) data structure design that
will ultimately be far faster to execute.

Take a banal example; when we do a SUM() of a million rows containing
plain doubles, we would want to (at root) have a function that [ in the
ideal case ] does:

double sum (double *array, sal_Int64 nItems);

Which we can shove onto a gpu, multi-thread if nItems is big, etc. etc.
unfortunately approaching this limit is basically impossible in calc.
Instead for this case we would do a very slow, pointer-chasing iteration
over a million scattered ScCell's - we would do type checking - to
ensure that each one was a double, and only then would we add /
accumulate them.

Of course none of that can be pushed to a GPU, none of it can be SIMD
accelerated, and threading it is rather hard.

Now ... if we stored contiguous spans of identically typed items [ ie.
a column of doubles ], as value runs in our data structures; currently
we (amazingly) have arrays of (row/cell*) pairs incidentally. Then we
could push a lot of branch-heavy, expensive type checking, and lots of
pointer chasing outside the main-loop, we'd also use rather less memory.

That's fine for doubles of course; but the really huge wins come from
an entirely new model of dependencies and areas containing formulae - I
propose only storing a base formula, and an iterator to describe how
that formula changes down a row: to compress an entire column of
formulae to a single formula. Futhermore on top of that substantially
discarding the existing dependency mechanism such that a single-cell
change in a contiguous range of doubles would have a shared broadcast on
that whole range (with the specific detail of what cell changed), such
that that could be turned into a specific row (or row range) to
re-compute in any dependent by comparing the base formula, plus it's
iterator with the range that changed

Re: [Libreoffice] minutes of tech. steering call ...

2011-10-20 Thread Kevin Hunter

At 4:52pm -0400 Thu, 20 Oct 2011, Michael Meeks wrote:

  http://wiki.documentfoundation.org/Development/LibreOffice4



+ getting stuck into Windows / mingw build etc.


From the wiki page, one of the concerns is binary incompatibility.  I 
assume this is in reference to extensions?


Question: is there merit to moving toward an enforced sub-process model 
for extensions?  My first thought is that this would do a couple of things:


1. This would protect LO from any extensions' instability.  If an
   extension attempts an illegal operation, only it would be shut
   down, not whole of LO.

2. By only shutting down a buggy extension, we reduce potentially
   misleading bug reports from users who wouldn't otherwise know
   the difference.

3. It would allow extensions to still be built with MSVC, regardless of
   what compiler the LO core project uses.

4. Going forward, this would force a well-defined protocol interaction
   between LO and any extensions.  This has implications for unit tests
   and security, among other things.

5. That API definition will be a *lot* of work, but hopefully somewhat
   thought out already through only a mild reengineering of the current
   binary API.

6. Interprocess communication for certain tasks will be potentially
   slower.

7. ... ?

The upside is that if we're talking a major version change, /now/ would 
be the time to do this.


Thoughts?

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] make experts: progress information?

2011-10-19 Thread Kevin Hunter

Hi LO Make experts,

Is it possible to get subproject build progress information dynamically 
from Make?  Among other things, moving all projects to tail_build 
currently reduces the usefulness of the Zenity SVG clock build progress 
meter.  I'm looking at snippets like


http://snippets.dzone.com/posts/show/6843

Which is a sexy command line solution for a single Makefile.  What I 
don't know is how well something like this could be implemented for our 
many scattered makefiles.


Beyond myself, are others interested in having a finer-grained 
indication of where is the build currently in the whole process??


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice-commits] .: autodoc/inc autodoc/source

2011-10-10 Thread Kevin Hunter
 autodoc/inc/ary_i/ci_text2.hxx   |2 +-
 autodoc/source/ary_i/kernel/ci_text2.cxx |   12 
 2 files changed, 1 insertion(+), 13 deletions(-)

New commits:
commit 60f108553552eba8441589c47294f252e4ace1e5
Author: Kevin Hunter hunt...@earlham.edu
Date:   Mon Oct 10 13:58:25 2011 -0400

Simplify logic to use std::vector's .empty()

No need to muck about with iterators, adding a loop, and 2 function
calls to test for empty: it's a std::vector under the hood, so use
.empty(), and inline it.

diff --git a/autodoc/inc/ary_i/ci_text2.hxx b/autodoc/inc/ary_i/ci_text2.hxx
index 8e1c202..eef1d63 100644
--- a/autodoc/inc/ary_i/ci_text2.hxx
+++ b/autodoc/inc/ary_i/ci_text2.hxx
@@ -72,7 +72,7 @@ class DocuTex2
 DYN DocuToken  let_drToken );
 
 const TokenListTokens() const  { return aTokens; }
-boolIsEmpty() const;
+boolIsEmpty() const { return aTokens.empty(); }
 const String   TextOfFirstToken() const;
 
 String Access_TextOfFirstToken();
diff --git a/autodoc/source/ary_i/kernel/ci_text2.cxx 
b/autodoc/source/ary_i/kernel/ci_text2.cxx
index 00a5a7e..dea062f 100644
--- a/autodoc/source/ary_i/kernel/ci_text2.cxx
+++ b/autodoc/source/ary_i/kernel/ci_text2.cxx
@@ -77,18 +77,6 @@ DocuTex2::AddToken( DYN DocuToken  let_drToken )
 aTokens.push_back(let_drToken);
 }
 
-bool
-DocuTex2::IsEmpty() const
-{
-for ( ary::inf::DocuTex2::TokenList::const_iterator
-iter = aTokens.begin();
-  iter != aTokens.end();
-)
-{
-return false;
-}
-return true;
-}
 
 using csi::dsapi::DT_TextToken;
 
___
Libreoffice-commits mailing list
Libreoffice-commits@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


Re: [Libreoffice] [PATCH] [PUSHED] .: stoc/source

2011-10-10 Thread Kevin Hunter

At 3:11am -0400 Wed, 05 Oct 2011, Kevin Hunter wrote:

At 2:58am -0400 Wed, 05 Oct 2011, Stephan Bergmann wrote:

(I assume you already stated somewhere what license your
contributions are under, even though that's not explicitly listed at
http://wiki.documentfoundation.org/Development/Developers.)


Heh, yeah, awhile ago. Had a whole discussion with the Meeks. :-)

http://lists.freedesktop.org/archives/libreoffice/2010-October/001178.html

In short: LGPLv3.


Having talked with Michael out of band, I'm now convinced of the 
viability and need for 3+ and MPL.  Please accept my patches to the 
LibreOffice project, both prior and yet to come, as LGPLv3+/MPL1.1.


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] masterbuild 2011-10-03.. Linux x86: oosplash not found

2011-10-07 Thread Kevin Hunter

At 5:51pm -0400 Fri, 07 Oct 2011, Cor Nouws wrote:

extracting to a tmp folder and then running
(for i in ../*.deb ; do dpkg-deb -x $i . ; done) 
~/master20111003Deb.log

Looks as if I need to add an extra option/argument to get output in the
log?


I'm about to get schooled in Bash, I'm sure, but if you're looking to 
get both stdout and stderr into the log file, would that be '' (ensure 
no space between ampersand and carrot), as opposed to  ?


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] master build breakage at unoil.jar

2011-10-07 Thread Kevin Hunter

Hullo List,

I'm currently unable to build master.  It's breaking in tail_build with

[...]/solenv/gbuild/Package.mk:33: *** gb_Deliver_deliver: file does not 
exist in solver, and cannot be delivered: 
[...]/solver/unxlngx6.pro/bin/unoil.jar.  Stop.


Of note, is that I'm using --without-java, so why is it attempting to 
create a .jar file?  That may be a red herring, but I do know that the 
break is between


fed75d001e6a48a84bc46606848af3ba0219df29
 Fri Oct 7 23:32:09 2011 +0200
 'set the correct url for vba unit test'

and

c937997abd00451bd9b652083a34dd9027edb96a
 Fri Oct 7 21:53:56 2011 -0500
 'Revert cppcheck scope reduction of var in soltools/...javadep.c'

I suspect it's to do with one of the gbuild conversion commits, an area 
in which I'm woefully ignant.


Help?

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] oox/source/drawingml/customshapepresets.cxx is just (Offensive Word Found In Message) too much for gcc

2011-10-06 Thread Kevin Hunter

At 6:28am -0400 Thu, 06 Oct 2011, Norbert Thiebaud wrote:

2011/10/6 Norbert Thiebaud:

I'll give it a shot...


Not that I expect it to make a big difference... since most of the
compiles are ccached...


As an nth data point on the matter, I've been using ccache for awhile, 
and my builds take longer.  Anecdotally (because I'm not focused on 
ccache specifically), I turned it off the other day, and my builds 
reduced from about 2 hours to 1h15m.*  For reference, my ccache size is 
8G, but only 1.8 G has been used.  My hits at about 12,000 are about 
half of my misses.


Cheers,

Kevin

* Both of those numbers are _very_ rough averages (created from memory 
of my alias make='time make' output), my builds compile in the 
background, at nice +19, on a puny dual-core 4G machine with a latent 
rotating HDD.  The majority of my builds are ./g pull -r; make used 
for testing.  The less rough average is the make distclean; ./g pull 
-r; make workflow, which reduced a 3h30m compile to about 2h05m on the 
same hardware.

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


[Libreoffice] memory leak or tricky LO foo?

2011-10-05 Thread Kevin Hunter

Hullo List,

In idly reading LO code (trying yet again to spend time wrapping my head 
around anything in the code base), I'm puzzled by this snippet (with 
minor format alteration for email) from svl/source/numbers/zforlist.cxx 
(currently around line 2226).  It seems to me that pNewFormat is a 
memory leak, but I don't know the LO well enough to state that. 
Specifically, is aFTable.Insert saving the pointed to memory?  Or does 
the SvNumberformat ctor save it somehow?  Otherwise, immediately after 
the if, we reset pNewFormat to a new block of memory, apparently 
forgetting the old.


This is pattern is replicated a few times in this function, so I'd like 
to ask before I set about creating a patch.


-
// Boolean
aFormatCode = pFormatScanner-GetBooleanString();
pNewFormat = new SvNumberformat( aFormatCode,
   pFormatScanner, pStringScanner, nCheckPos, ActLnge );
pNewFormat-SetType(NUMBERFORMAT_LOGICAL);
pNewFormat-SetStandard();
if ( !aFTable.Insert(
   CLOffset + SetIndexTable( NF_BOOLEAN, ZF_STANDARD_LOGICAL ),
   pNewFormat)
   )
delete pNewFormat;

// Text
aFormatCode = '@';
pNewFormat = new SvNumberformat( aFormatCode,
pFormatScanner, pStringScanner, nCheckPos, ActLnge );
pNewFormat-SetType(NUMBERFORMAT_TEXT);
pNewFormat-SetStandard();
if ( !aFTable.Insert(
   CLOffset + SetIndexTable( NF_TEXT, ZF_STANDARD_TEXT ),
   pNewFormat)
   )
delete pNewFormat;
-

Thanks much for any/all advices!

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [PATCH] [PUSHED] .: stoc/source

2011-10-05 Thread Kevin Hunter

At 2:58am -0400 Wed, 05 Oct 2011, Stephan Bergmann wrote:

On 10/04/2011 11:01 PM, Kevin Hunter wrote:

Here is a second patch that compiles, /should/ respond to what you just
confirmed was the original intent, but is untested. (It was a random
drive by patching.) Specifically, I suppose it's obvious that this now
changes the semantics of it actually used to do. If you know how to test
it ...


Yes, that's how I would have done it, too. Pushed now, thanks again.
(I assume you already stated somewhere what license your
contributions are under, even though that's not explicitly listed at
http://wiki.documentfoundation.org/Development/Developers.)


Heh, yeah, awhile ago.  Had a whole discussion with the Meeks.  :-)

http://lists.freedesktop.org/archives/libreoffice/2010-October/001178.html

In short: LGPLv3.

I should update that list, but I figure I'm yet a minor contributor, etc.

Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [PATCH] [PUSHED] .: stoc/source

2011-10-05 Thread Kevin Hunter

At 2:58am -0400 Wed, 05 Oct 2011, Stephan Bergmann wrote:

On 10/04/2011 11:01 PM, Kevin Hunter wrote:

Here is a second patch that compiles, /should/ respond to what you just
confirmed was the original intent, but is untested. (It was a random
drive by patching.) Specifically, I suppose it's obvious that this now
changes the semantics of it actually used to do. If you know how to test
it ...


Yes, that's how I would have done it, too. Pushed now, thanks again. (I
assume you already stated somewhere what license your contributions are
under, even though that's not explicitly listed at
http://wiki.documentfoundation.org/Development/Developers.)


Incidentally, do we have a set of tests for this?  I wouldn't know where 
to begin.  This was truly a drive-by reading of a commit and 
surrounding code.


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [PATCH] [PUSHED] .: stoc/source

2011-10-05 Thread Kevin Hunter

At 5:39am -0400 Wed, 05 Oct 2011, Stephan Bergmann wrote:

Unfortunately, there's no good unit tests for this code. Blame it on
me for taking the all too easy road out and committing the fix
without doing the boring ^H^H^H joyful work of adding a test for it
first.


There's no blame,[1] only hopeful questions.  As I already alluded -- 
flat out said -- *I* don't know how to get at this particular code, and 
I'm worried that having now corrected the logic, we're changing 
semantics for some (incorrect) code that relies on the broken behavior.


Ah well, I suppose it'll work itself out in the end.

Cheers,

Kevin

[1] It occurs to me that this is a great point for OS software: you 
*can't* blame anyone.  Unlike in proprietary software, where 
(supposedly) the boss always wants to be able to blame someone ... the 
flip side is that we're safe as developers, no?  ;-)

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


Re: [Libreoffice] [Libreoffice-commits] .: stoc/source

2011-10-04 Thread Kevin Hunter

At 4:15pm -0400 Tue, 04 Oct 2011, Stephan Bergmann wrote:

Thanks a lot for the patch. I think the real intent always was to
actually look through all the returned getSuperclasses(), and the
error that superclasses past the first one are effectively ignored
has never been noticed.


Excellent.  Was wondering, but don't yet know LO well enough to make 
such declarations.  Well, modulo any errors on my part, the logic I sent 
in patch 1 should be the same as what was originally there, but I hope 
easier to read/see for comparison/fixing.


Here is a second patch that compiles, /should/ respond to what you just 
confirmed was the original intent, but is untested.  (It was a random 
drive by patching.)  Specifically, I suppose it's obvious that this now 
changes the semantics of it actually used to do.  If you know how to 
test it ...


Cheers,

Kevin
From 0543ea7fad724856ee1ed837129808815eb44480 Mon Sep 17 00:00:00 2001
From: Kevin Hunter hunt...@earlham.edu
Date: Tue, 4 Oct 2011 12:58:10 -0400
Subject: [PATCH] Fix logic of isDerivedFrom function

From an email conversation with Stephen Bergmann

I think the real intent always was to actually look through all the
returned getSuperclasses(), and the error that superclasses past the
first one are effectively ignored has never been noticed.
---
 stoc/source/inspect/introspection.cxx |   25 +++--
 1 files changed, 7 insertions(+), 18 deletions(-)

diff --git a/stoc/source/inspect/introspection.cxx b/stoc/source/inspect/introspection.cxx
index 36f1acc..7d62578 100644
--- a/stoc/source/inspect/introspection.cxx
+++ b/stoc/source/inspect/introspection.cxx
@@ -110,29 +110,18 @@ sal_Bool isDerivedFrom( ReferenceXIdlClass xToTestClass, ReferenceXIdlClass
 {
 Sequence ReferenceXIdlClass  aClassesSeq = xToTestClass-getSuperclasses();
 const ReferenceXIdlClass* pClassesArray = aClassesSeq.getConstArray();
+
 sal_Int32 nSuperClassCount = aClassesSeq.getLength();
-sal_Int32 i;
-for( i = 0 ;
- i  nSuperClassCount ;
- /* No increment expression needed as the body always
-  * returns, and in fact MSVC warns about unreachable code if
-  * we include one. On the other hand, what's the point in
-  * using a for loop here then if all we ever will look at is
-  * pClassesArray[0] ?
-  */ )
+for ( sal_Int32 i = 0; i  nSuperClassCount; ++i )
 {
 const ReferenceXIdlClass rxClass = pClassesArray[i];
-if( xDerivedFromClass-equals( rxClass ) )
-{
-// Treffer
+
+if ( xDerivedFromClass-equals( rxClass ) ||
+ isDerivedFrom( rxClass, xDerivedFromClass )
+   )
 return sal_True;
-}
-else
-{
-// Rekursiv weitersuchen
-return isDerivedFrom( rxClass, xDerivedFromClass );
-}
 }
+
 return sal_False;
 }
 
-- 
1.7.1

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


[Libreoffice] [PATCH] simplify IsEmpty() logic in autodoc

2011-10-04 Thread Kevin Hunter

Hullo List,

A simple driveby patch that makes use of the standard library.

Cheers,

Kevin
From a2a9a1363a3a2ba0f7415295e7ebabb03acfe724 Mon Sep 17 00:00:00 2001
From: Kevin Hunter hunt...@earlham.edu
Date: Tue, 4 Oct 2011 18:56:18 -0400
Subject: [PATCH] Simplify logic to use std::vector's .empty()

No need to muck about with iterators, adding a loop, and 2 function
calls to test for empty: it's a std::vector under the hood, so use
.empty(), and inline it.
---
 autodoc/inc/ary_i/ci_text2.hxx   |2 +-
 autodoc/source/ary_i/kernel/ci_text2.cxx |   12 
 2 files changed, 1 insertions(+), 13 deletions(-)

diff --git a/autodoc/inc/ary_i/ci_text2.hxx b/autodoc/inc/ary_i/ci_text2.hxx
index 8e1c202..eef1d63 100644
--- a/autodoc/inc/ary_i/ci_text2.hxx
+++ b/autodoc/inc/ary_i/ci_text2.hxx
@@ -72,7 +72,7 @@ class DocuTex2
 DYN DocuToken  let_drToken );
 
 const TokenListTokens() const  { return aTokens; }
-boolIsEmpty() const;
+boolIsEmpty() const { return aTokens.empty(); }
 const String   TextOfFirstToken() const;
 
 String Access_TextOfFirstToken();
diff --git a/autodoc/source/ary_i/kernel/ci_text2.cxx b/autodoc/source/ary_i/kernel/ci_text2.cxx
index 00a5a7e..dea062f 100644
--- a/autodoc/source/ary_i/kernel/ci_text2.cxx
+++ b/autodoc/source/ary_i/kernel/ci_text2.cxx
@@ -76,18 +76,6 @@ DocuTex2::AddToken( DYN DocuToken  let_drToken )
 }
 aTokens.push_back(let_drToken);
 }
-
-bool
-DocuTex2::IsEmpty() const
-{
-for ( ary::inf::DocuTex2::TokenList::const_iterator
-iter = aTokens.begin();
-  iter != aTokens.end();
-)
-{
-return false;
-}
-return true;
 }
 
 using csi::dsapi::DT_TextToken;
-- 
1.7.1

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


[Libreoffice] management of files in src/

2011-10-04 Thread Kevin Hunter

Hullo List,

The files that get downloaded and placed in the src/ directory, 
resembling something akin to:



  63ddc5116488985e820075e65fbe6aa4-openssl-0.9.8o.tar.gz
  09357cc74975b01714e00c5899ea1881-pixman-0.12.0.tar.gz
  0b49ede71c21c0599b0cc19b353a6cb3-README_apache-commons.txt


Do we have a mechanism for automatically removing unused/old external 
sources from the src/ directory?


I think it's a cute idea to have the md5sums in the name, but short of 
some cut -b34- | sort command line foo, it makes seeing what cruft I 
have in that directory take 1 minute instead of 30 seconds.  (Yes, I'm 
lazy.)


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] bug in GCC 4.6.1?

2011-09-29 Thread Kevin Hunter

At 4:14pm -0400 Wed, 28 Sep 2011, Julien Nabet wrote:

I just found this gcc bugtracker :
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50383
But it's about GCC 4.7.


Ah, shame on me.  First hit on Google.

GCC 4.7 still shares plenty of code (and this included) with 4.6+, so 
that's good enough for me; and yes, it's been reported.


Thank you Julien,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] bug in GCC 4.6.1?

2011-09-28 Thread Kevin Hunter

Hullo List,

I recall mention on the list that the LO build was finding bugs in 
various build programs, but I was only paying peripheral attention.  Now 
I've run across something from GCC 4.6.1 that says:


lto1: internal compiler error: in lto_symtab_register_decl, at 
lto-symtab.c:148

Please submit a full bug report,
with preprocessed source if appropriate.

when attempting to create libfrmlo.so

$ g++ -shared [...] -o $W/LinkTarget/Library/libfrmlo.so

Is this something we've already encountered, reported, or otherwise 
dealt with?  Or is this another just me case.


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] [PATCH] Update Zenity with progress icon notification

2011-09-19 Thread Kevin Hunter

Hullo List,

This patch adds a clock style progress, so one doesn't have to mouse 
over the Zenity icon to see where it currently stands.


Very simple, very rudimentary, but already summat useful for me.  Hope 
others find it so as well.


Kevin
From adb5e92ef23923089b0fed77261403fe001b59a4 Mon Sep 17 00:00:00 2001
From: Kevin Hunter hunt...@earlham.edu
Date: Mon, 19 Sep 2011 14:28:43 -0400
Subject: [PATCH] Update Zenity with progress icon notification

Add a clock style progress meter for the build via dynamically
generated svg images.  The colors are rather arbitrarily chosen, but
with a very minor attempt to be readable by color-blind folks.  A second
round cut of this patch might make the fill and stroke colors
configurable.
---
 solenv/bin/build.pl |   57 +++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/solenv/bin/build.pl b/solenv/bin/build.pl
index 865e4d1..93a6952 100755
--- a/solenv/bin/build.pl
+++ b/solenv/bin/build.pl
@@ -1910,10 +1910,67 @@ sub print_announce {
 $announce_string .= $echo . =\n;
 print $announce_string;
 
+my $percent_progress = $modules_started / $total_modules;
 zenity_tooltip($text);
+my $zenity_icon = create_progress_svg($percent_progress);
+zenity_icon( $zenity_icon ) if ( $zenity_icon );
+
 $module_announced{$prj}++;
 };
 
+sub create_progress_svg {
+# The colors are rather arbitrarily chosen, but with a very minor attempt
+#   to be readable by color-blind folks.  A second round cut might make
+#   the fill and stroke colors configurable.
+
+# This function currently leaves a stray svg file in the tmp directory.
+#  This shouldn't be too much of a problem, but if the next person in line
+#  wants to remove this, go ahead.
+
+if (! zenity_enabled()) {
+return undef;
+}
+
+my $pi = 3.1415923;
+my $percentage = shift;
+my $path = $percentage  .5 ? '1,1' : '0,1';
+
+# Creating a clock progress meter that starts from the 12 position; the
+#  cursor starts in the center (M50,50), then goes immediately vertical
+#  (v-50).  Associating sin with x, because it's the /difference/ of where
+#  the cursor needs to move.  Other relevent documentation may be found at
+#
+#  http://www.w3.org/TR/SVG11/paths.html#PathElement and
+#  http://www.w3.org/TR/SVG11/images/paths/arcs02.svg
+
+my $x = 50 * sin( $percentage * 2 * $pi );
+my $y = 50 - 50 * cos( $percentage * 2 * $pi );
+
+my $progress_file = $tmp_dir/lo_build_progress.svg;
+open( PROGRESS, '', $progress_file ) or return undef;
+print PROGRESS EOF;
+?xml version=1.0 encoding=UTF-8 standalone=no?
+svg
+	xmlns:dc=http://purl.org/dc/elements/1.1/;
+	xmlns:cc=http://creativecommons.org/ns#;
+	xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#;
+	xmlns:svg=http://www.w3.org/2000/svg;
+	xmlns=http://www.w3.org/2000/svg;
+	version=1.1
+	viewBox=0 0 100 100
+	path
+		d=M50,50 v-50 a50,50 0 $path $x,$y z
+		fill=#aaa
+		stroke=#00f
+		stroke-width=1 /
+/svg
+EOF
+
+close( PROGRESS );
+
+return $progress_file;
+}
+
 sub zenity_enabled {
 return 0 if ($ENV{ENABLE_ZENITY} ne TRUE);
 return 0 if (!defined $ENV{DISPLAY});
-- 
1.7.1

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


Re: [Libreoffice] problem autoinput Calc in master

2011-09-16 Thread Kevin Hunter

At 6:31am -0400 Fri, 16 Sep 2011, Markus Mohrhard wrote:

I already observed the same problem some days ago but Kohei was
unable to reproduce it. So now with a second observation of this
unexpected  behaviour I need to have a look at it.


Dumb question for recreating it ... is it perhaps a 32/64 bit 
inconsistency?  I recall noticing something along similar lines about 2 
months ago, but forgot to follow up on it.


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] cppcheck duplicate if expressions in bulmaper.cxx (sd part)

2011-09-14 Thread Kevin Hunter

At 2:19am -0400 Fri, 09 Sep 2011, Stephan Bergmann wrote:

On 09/08/2011 10:47 PM, julien2412 wrote:

Here is the pb :
if( 0 )--- Found duplicate if expressions.
{ [...code...] }
else if( 0 ) { [...code...] }

I checked the history, it's there since 16/11/2000 (commit
5dc708093d1ee179099abdcbf0c6f649b1c4deeb)

could anyone explain to me the purpose of this ? Just a typo ?


It's preceded by comment to be implemented if module supports CJK a
few lines above at sd/source/ui/func/bulmaper.cxx:73, so I would say its
something like commented-out code that still awaits implementation...


Not that it's terribly large in terms of computation/memory in the grand 
scheme of things, but why have it compiled in, as opposed to using an 
#if 0 ?


Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] cppcheck duplicate if expressions in bulmaper.cxx (sd part)

2011-09-14 Thread Kevin Hunter

At 12:45pm -0400 Wed, 14 Sep 2011, Kevin Hunter wrote:

At 2:19am -0400 Fri, 09 Sep 2011, Stephan Bergmann wrote:

On 09/08/2011 10:47 PM, julien2412 wrote:

Here is the pb :
if( 0 )--- Found duplicate if expressions.
{ [...code...] }
else if( 0 ) { [...code...] }

I checked the history, it's there since 16/11/2000 (commit
5dc708093d1ee179099abdcbf0c6f649b1c4deeb)

could anyone explain to me the purpose of this ? Just a typo ?


It's preceded by comment to be implemented if module supports CJK
a few lines above at sd/source/ui/func/bulmaper.cxx:73, so I would
say its something like commented-out code that still awaits
implementation...


Gah, sorry for the noise.  Hadn't finished reading the entire thread, 
obviously.


Late to the party

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash

2011-09-04 Thread Kevin Hunter

At 5:23am -0400 Thu, 25 Aug 2011, Caolán McNamara wrote:

On Wed, 2011-08-24 at 18:06 +0100, Michael Meeks wrote:

But then again, it links to libstdc++

...

libstdc++.so.6 =  /usr/lib/libstdc++.so.6 (0xb7658000)

...

There was a mention of a /usr/local/bin/g++, which makes me wonder
about mismatching libstdc++.so.X. To humour me, what about...

rm -rf external/*/lib/*
rm -rf solver/*/*/lib/libstdc++*
rm -rf solver/*/*/lib/libgcc_s.so*


I went ahead and did that with no love.  For reference:

$ ldd sal/unxlngx6/lib/libuno_sal.so | grep stdc
libstdc++.so.6 = /usr/local/lib64/libstdc++.so.6 (0x7f122c7cb000)

At my novice gcc level, my research suggests it's to do with including 
libstdc++ in the build command.  I still don't know exactly why the 
compilation fails with GCC v4.6 (compiled three weeks ago) yet doesn't 
with GCC v4.4, but I can fix it one of two ways:


-
$ hash -r
$ which gcc g++; gcc --version | head -1; g++ --version | head -1
/usr/local/bin/gcc
/usr/local/bin/g++
gcc (GCC) 4.6.1
g++ (GCC) 4.6.1

# fails
$ gcc -o .../oosplash [...]

# works; rest of build can now finish successfully
$ gcc -o .../oosplash [...] -lstdc++
   or
$ g++ -o .../oosplash [...]
-

Have others had any issues compiling LO with GCC 4.6?  It's frustrating 
and telling that I'm the only one noticing it.  What voodoo have I 
overlooked?


Thanks,

Kevin

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


[Libreoffice] unnecessary build actions?

2011-09-01 Thread Kevin Hunter

Hullo LibO Devs,

In a search of my build.log for libuno_sal, the first reference I see 
points me to lines that look line this (newlines added for email clarity):


-
rm -f ../unxlngx6/lib/check_libuno_sal.so.3

mv ../unxlngx6/lib/libuno_sal.so.3 ../unxlngx6/lib/check_libuno_sal.so.3

[...]/solenv/bin/checkdll.sh  [...]  ../unxlngx6/lib/check_libuno_sal.so.3

rm -f ../unxlngx6/lib/libuno_sal.so

cd ../unxlngx6/lib  ln -s libuno_sal.so.3 libuno_sal.so

Making:libuno_sal.so.3

ccache g++ [...] -o ../unxlngx6/lib/libuno_sal.so.3 [...]
-

Question: if we're making libuno_sal.so.3 afresh, what's the rational to 
bother performing various checks on it prior to making it?


Further, I don't see where the first line's reference to 
check_libuno_sal.so.3 comes from.  i.e.  When did it get built prior? 
Similar question goes for line 2 above (mv ...).


In a very similar vein, I see lots of this paradigm:

...
rm -f path/to/file
gcc -o path/to/file [...]
...

That gcc command will just overwrite the file if it's there, no? 
Therefore, why execute rm?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] unnecessary build of obj/bootstrap.o?

2011-08-29 Thread Kevin Hunter

Hullo List,

In tracking down another issue, I've run across a number of object files 
that we appear to build but not use.  Example:


g++ -o sal/unxlngx6/obj/bootstrap.o [...]

A few lines later in the build, we build this, with a few extra g++ 
arguments.  This is the version that actually gets used elsewhere in the 
build:


g++ -o sal/unxlngx6/slo/bootstrap.o [...] \
 -fpic \
 -DSHAREDLIB \
 -D_DLL_

Question: what's the point of building the first one (if any)?

If it's not supposed to be built, I'll leave fixing the build system 
to some other interested party as I'm not particularly keen on diving in 
when I'm thick into another problem.  For reference, based on my 
build.log and the attached (inefficient) shell script, I believe this 
list of 112 object files are all good _candidates_ for the built but 
unused category


Thanks,

Kevin
# This list of files suggests *candidates* of unnecessary compilation.  I
# don't know for sure that they aren't used after compilation, but I suspect
# so given my build.log and this rather innefficient shell/perl script combo.

$ cat get_files_of_interest.pl
#!/usr/bin/env perl

use strict;
use warnings;

while ( STDIN ) {  # store each input line into $_
--if ( s/.* -o (\S+).*/$1/ ) { # if a substition made, then
# $_ was a compile line with -o  in it.  i.e.
# we're looking for the object file lines

# Now, only print the line if the output of above was
# at least two directories deep.  i.e. if it at least
# has a form like dir/dir/file.so or dir/dir/file.o

# this will not match lines like -o dir/file.o or
# -o file.o
print if s|.*/(\w+/\w+/\w+\.s?o)|$1|;
--}
}

$ for i in $(./get_files_of_interest.pl  build.log | sort -u); do
COUNT=$(\grep -c $i build.log)
[[ 1 == $COUNT ]]  find . -path */$i
done | sort  unused_object_files.txt

Begin files:

./bean/unxlngx6/slo/officebean_version.o
./bridges/unxlngx6/slo/java_uno_version.o
./connectivity/unxlngx6/slo/hsqldb_version.o
./connectivity/unxlngx6/slo/mozab_dflt_version.o
./connectivity/unxlngx6/slo/mozabdrv_dflt_version.o
./desktop/unxlngx6/obj/copyright_ascii_ooo.o
./desktop/unxlngx6/obj/copyright_ascii_sun.o
./desktop/unxlngx6/slo/dp_activepackages.o
./desktop/unxlngx6/slo/dp_commandenvironments.o
./desktop/unxlngx6/slo/dp_configurationbackenddb.o
./desktop/unxlngx6/slo/dp_configuration.o
./desktop/unxlngx6/slo/dp_executablebackenddb.o
./desktop/unxlngx6/slo/dp_executable.o
./desktop/unxlngx6/slo/dp_extbackenddb.o
./desktop/unxlngx6/slo/dp_extensionmanager.o
./desktop/unxlngx6/slo/dp_informationprovider.o
./desktop/unxlngx6/slo/dp_managerfac.o
./desktop/unxlngx6/slo/dp_manager.o
./desktop/unxlngx6/slo/dp_package.o
./desktop/unxlngx6/slo/dp_properties.o
./javaunohelper/unxlngx6/slo/juh_version.o
./javaunohelper/unxlngx6/slo/juhx_version.o
./jurt/unxlngx6/slo/jpipe_version.o
./sal/unxlngx6/obj/alloc_arena.o
./sal/unxlngx6/obj/alloc_cache.o
./sal/unxlngx6/obj/alloc_fini.o
./sal/unxlngx6/obj/alloc_global.o
./sal/unxlngx6/obj/bootstrap.o
./sal/unxlngx6/obj/byteseq.o
./sal/unxlngx6/obj/cipher.o
./sal/unxlngx6/obj/cmdargs.o
./sal/unxlngx6/obj/conditn.o
./sal/unxlngx6/obj/context.o
./sal/unxlngx6/obj/convertbig5hkscs.o
./sal/unxlngx6/obj/converter.o
./sal/unxlngx6/obj/converteuctw.o
./sal/unxlngx6/obj/convertgb18030.o
./sal/unxlngx6/obj/convertiso2022cn.o
./sal/unxlngx6/obj/convertiso2022jp.o
./sal/unxlngx6/obj/convertiso2022kr.o
./sal/unxlngx6/obj/convertsinglebytetobmpunicode.o
./sal/unxlngx6/obj/crc.o
./sal/unxlngx6/obj/debugbase.o
./sal/unxlngx6/obj/diagnose.o
./sal/unxlngx6/obj/digest.o
./sal/unxlngx6/obj/file_error_transl.o
./sal/unxlngx6/obj/file_misc.o
./sal/unxlngx6/obj/file_path_helper.o
./sal/unxlngx6/obj/filepath.o
./sal/unxlngx6/obj/file_stat.o
./sal/unxlngx6/obj/file_url.o
./sal/unxlngx6/obj/file_volume.o
./sal/unxlngx6/obj/hash.o
./sal/unxlngx6/obj/interlck.o
./sal/unxlngx6/obj/loadmodulerelative.o
./sal/unxlngx6/obj/locale.o
./sal/unxlngx6/obj/logfile.o
./sal/unxlngx6/obj/math.o
./sal/unxlngx6/obj/memory.o
./sal/unxlngx6/obj/module.o
./sal/unxlngx6/obj/mutex.o
./sal/unxlngx6/obj/nlsupport.o
./sal/unxlngx6/obj/pipe.o
./sal/unxlngx6/obj/printtrace.o
./sal/unxlngx6/obj/process_impl.o
./sal/unxlngx6/obj/process.o
./sal/unxlngx6/obj/profile.o
./sal/unxlngx6/obj/random.o
./sal/unxlngx6/obj/readwrite_helper.o
./sal/unxlngx6/obj/rtl_process.o
./sal/unxlngx6/obj/salinit.o
./sal/unxlngx6/obj/security.o
./sal/unxlngx6/obj/semaphor.o
./sal/unxlngx6/obj/signal.o
./sal/unxlngx6/obj/socket.o
./sal/unxlngx6/obj/strbuf.o
./sal/unxlngx6/obj/strimp.o
./sal/unxlngx6/obj/string.o
./sal/unxlngx6/obj/system.o
./sal/unxlngx6/obj/tables.o
./sal/unxlngx6/obj/tcvtbyte.o
./sal/unxlngx6/obj/tcvtmb.o
./sal/unxlngx6/obj/tcvtutf7.o
./sal/unxlngx6/obj/tcvtutf8.o
./sal/unxlngx6/obj/tempfile.o
./sal/unxlngx6/obj/tenchelp.o
./sal/unxlngx6/obj/tencinfo.o
./sal/unxlngx6/obj/textcvt.o
./sal/unxlngx6/obj/textenc.o
./sal/unxlngx6/obj/thread.o
./sal/unxlngx6/obj/time.o

Re: [Libreoffice] gcc/g++ compilation issue in desktop/splash

2011-08-24 Thread Kevin Hunter

At 10:06am -0700 Wed, 24 Aug 2011, Michael Meeks wrote:

Can you do some more investigation of which symbol is missing from
where ? of course, failing that we can do some horror of a rename in
there, or perhaps poking at removing things like:

desktop/unx/source/makefile.mk:

APP1CODETYPE = C

might help - but ... ideally we want as little junk in the splash
app as humanly possible; it'd be most ideal not to link sal at all
IMHO but ... ;-) its more work to avoid it.


Absolutely.  Alright ... given your message, I'm wondering if there is 
an interplay with the fact that my build is


...
--enable-dbgutil \
--enable-debug   \
--enable-symbols \
...

Message received; no one quite knows what the issue is.  I'll dive into it.

Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] gcc/g++ compilation issue in desktop/splash

2011-08-22 Thread Kevin Hunter

Hi Folks,

I haven't seen a fix go by, and have seen nothing mentioned on the list 
regarding building the splash part of desktop, but I'm having an issue 
that appears to be solved by switching to g++ instead of gcc:


-
$ cd desktop
$ build

[...snip...]

Entering /home/kevin/devel/libreoffice/desktop/unx/source

Making:oosplash
ccache /usr/local/bin/gcc -Wl,-z,noexecstack -Wl,-z,combreloc 
-Wl,-z,defs -Wl,-Bsymbolic-functions -Wl,--dynamic-list-cpp-new 
-Wl,--dynamic-list-cpp-typeinfo -Wl,--hash-style=gnu -g -g 
-Wl,-rpath,'$ORIGIN:$ORIGIN/../basis-link/program:$ORIGIN/../basis-link/ure-link/lib',--enable-new-dtags 
-Wl,-export-dynamic 
-Wl,-rpath-link,../../unxlngx6/lib:/home/kevin/devel/libreoffice/solver/350/unxlngx6/lib:/lib:/usr/lib 
-L../../unxlngx6/lib -L../lib 
-L/home/kevin/devel/libreoffice/solenv/unxlngx6/lib 
-L/home/kevin/devel/libreoffice/solver/350/unxlngx6/lib 
-L/home/kevin/devel/libreoffice/solenv/unxlngx6/lib 
../../unxlngx6/obj/splashx.o ../../unxlngx6/obj/start.o 
../../unxlngx6/obj/args.o ../../unxlngx6/obj/pagein.o 
../../unxlngx6/obj/file_image_unx.o \
-lpthread -Wl,--as-needed -lXext -lX11 -Wl,--no-as-needed -luno_sal 
-lpng12 -lXinerama -o ../../unxlngx6/bin/oosplash
/home/kevin/devel/libreoffice/solver/350/unxlngx6/lib/libuno_sal.so: 
undefined reference to 
`std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)@GLIBCXX_3.4.15'

collect2: ld returned 1 exit status
dmake:  Error code 1, while making '../../unxlngx6/bin/oosplash'

-

By executing that line manually and switching to /usr/local/bin/g++ the 
compile is successful.  And that point I can restart the build and LO 
finishes with a successful build.


It looks like the source of those files is C, but the libuno_sal is a 
.cpp file.  I'm not clear on the linking rules bewteen the C and CPP, 
but given that no one else is having this issue, is there something else 
that I'm missing?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] UNO API reference?

2011-08-17 Thread Kevin Hunter

At 3:59am -0400 Tue, 16 Aug 2011, Cor Nouws wrote:

Kevin Hunter wrote (16-08-11 01:07)

Do we have, or is there a canonical reference for the UNO API?
Specifically with Python bindings? The various references I've been
able to find online seem haphazard at best. Is that what we have to
work with, or is there an obvious link I've overlooked?


The obvious (start for) reference of course is
http://api.openoffice.org/ So I guess you must have investigated that
one..


Yes, I've investigated that site; it doesn't seem terribly fruitful. 
Perhaps I'm not clicking the right links?  I'm looking for a few things 
that I don't currently see, like


- Code snippets for all the UNO API language bindings.
  I see a few, for the likes of Java, OOBasic, and ooRexx, but they
  harken back to 2.0 and 1.1 days.  Further, Since the API has multiple
  language bindings, I'm looking for more than just those 3.  For
  instance, I see barely six examples for CPP, six for Python, etc.

- Complete object and method listing.
  One of the things I currently lack is the grander idea of what I can
  do with the API.  Generically I understand that it's a lot, but I
  don't know how to access most of it.

- Complete, self-contained code examples.
  There are above-mentioned code snippets, perhaps, but complete,
  downloadable examples that show off a particular functionality would
  be incredibly useful.

I'm trying to ascertain what resources are available to me while I hack 
away at LO, and just those three items would be tremendous.  Do these 
exist?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] UNO API reference?

2011-08-15 Thread Kevin Hunter

Hullo List,

Do we have, or is there a canonical reference for the UNO API? 
Specifically with Python bindings?  The various references I've been 
able to find online seem haphazard at best.  Is that what we have to 
work with, or is there an obvious link I've overlooked?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Suggestion and patch for Confirmation of save format dialog

2011-08-10 Thread Kevin Hunter

At 5:09am -0400 Tue, 09 Aug 2011, Caolán Mcnamara wrote:

I think the whole existing dialog was a complete fail. Never liked
the wording Keep, seeing as the dialog also appears on first save
of a new file, i.e. new document-save as .doc, and you get Keep MS
format, which feels odd to me. Use/Save might be better.

Maybe put Save as 'X' anyway into the current keep button, with
save in 'Y' instead as the alternative save as ODF. I know I
typically skip all explanatory text and go right to the buttons, only
reading the text if I need to.


Having brought this up before, maybe 6 months ago or so, I'm aware that 
this would be a time consuming task and that there's not a lot of 
enthusiasm to do it, but man it would be useful to have a some sort of 
document instrospection so that we could say /exactly/ what would be 
lost in a non-ODF format.


On the other hand, I think it was you, Caolán who pointed out it might 
just be easier to implement those bits ...


Sigh.  Would that I had the wherewithal and time to do it rather than be 
a noisy bystander.


Cheers,

Kevin

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


Re: [Libreoffice] Calc need too much RAM to open large spreadsheets than Excel, fix?

2011-07-27 Thread Kevin Hunter

At 6:07am -0400 Wed, 27 Jul 2011, Michael Meeks wrote:

On Wed, 2011-07-27 at 16:12 +0700, Samphan Raruenrom wrote:

Is there any work on LibreOffice to reduce memory usage of
LibreOffice Calc on large spreadsheets?


but IMHO -the- fundamental design problem with calc, is something
quite banal - the concept that a spreadsheet is built from cells:
without breaking that basic misconception I don't think we can do
any of the really interesting space / time optimisations we need to
do.


Can you elaborate a little on this fundamental design flaw?  As a naive 
and unfortunately focused elsewhere personality, I don't immediately 
know of a better model for creating a spreadsheet.  Is it just a 
problem of sparsity?  Or is there a much more sophisticated method for 
memory sharing of various similar cell attributes, perhaps analogous to CSS?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Calc - a better design ...

2011-07-27 Thread Kevin Hunter

At 9:42am -0400 Wed, 27 Jul 2011, Michael Meeks wrote:

Anyhow - as text, this is not terribly convincing; drawing on a
whiteboard would be more so, and with lots of working code - even
more so ;-) I keep hoping to have time to play with ixion with Kohei
in this regard.


Actually, as text it is convincing.  So my original analogy to CSS 
works, but your example of sum(*array) vs for(i = 0...) and making use 
of SIMD is also telling.


Who is working on these particular internals, if anybody?  Do I take 
from your last sentence that the answer is partially nobody?


I would /love/ to get my hands dirty on exactly this kind of 
restructuring and code work ... if only my hands weren't currently tied 
to a graduate degree that I also enjoy.  Sigh.


Cheers (and thanks for the extensive reply!),

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] patch for make to help in gbuild debugging

2011-06-23 Thread Kevin Hunter

At 9:06am -0400 Thu, 23 Jun 2011, Bjoern Michaelsen wrote:

On Thu, 23 Jun 2011 02:23:46 -0500 Norbert Thiebaud wrote:

So I created a patch for make-3.82 that allow the use of
--debug=e,c That add trace about, respectively, $(eval and $(scall
see:
http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/commit/?id=a4f03f17f42ded70e6a3c49cf4e9a90eaf3c12ca


looks good to me -- upstreaming it to the gnu project would be
great.


Oh fantastic!  Until I looked more closely, I didn't realize this was a 
modification to Make itself.  Brilliant.  Seconded, thirded, etc.: 
*please* send this patch upstream, as I've a few projects with which I 
would appreciate having this functionality.  Clearly, you're not the 
only one for whom this will solve a problem.


Thank you!

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] patch for make to help in gbuild debugging

2011-06-23 Thread Kevin Hunter

At 11:46am -0400 Thu, 23 Jun 2011, Norbert Thiebaud wrote:

On Thu, Jun 23, 2011 at 6:35 AM, Michael Meeks wrote:

On Thu, 2011-06-23 at 02:23 -0500, Norbert Thiebaud wrote:

So I created a patch for make-3.82 that allow the use of
--debug=e,c That add trace about, respectively, $(eval and
$(scall see:
http://cgit.freedesktop.org/libreoffice/contrib/dev-tools/commit/?id=a4f03f17f42ded70e6a3c49cf4e9a90eaf3c12ca


Can we get that up-stream into make, like my glob speedup ? do you
wantme to fwd your patch to the list [ which is hard to interact
with sadly - Reply-To: mangling and low traffic ;-].


Doesn't FSF require paperwork ? I looked at the make project page on
savanah, but that was less than helpful. on that topic.


I don't think so, and I've yet to find any text suggesting so.  A 
perhaps telling snippet From RMS' blog:


It is up to you which of these activities to permit, but here are the 
FSF's recommendations. If you plan to make major contributions to the 
project, insist that the contribution agreement require that software 
versions including your contributions be available to the public under a 
free software license. This will allow the developer to sell exceptions, 
but prevent it from using your contributions in software that is only 
available under a proprietary license.


If your contributions are smaller, you could accept a weaker condition 
that the company make your contributions available in a free software 
release as well as possibly in nonfree programs. This would allow the 
company to use your contributions in modified software that's only 
available under a proprietary license. Releasing proprietary software is 
never a good thing, but if your changes are smaller, it might be more 
important to improve the free version than resist the nonfree versions.


-- http://www.fsf.org/blogs/rms/assigning-copyright

My guess is that if the Make maintainers wanted to incorporate your
code, as long as it's under GPLv3+, then they would accept it.  Of note,
here is a GNU Make news item (circa 2007)

http://savannah.gnu.org/forum/forum.php?forum_id=4932


the web-base thing to submit patch seems to be a patch graveyard
more than anything else...


That's a different issue.  If the maintainers have lost interest, then ...

Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] file name glob filter

2011-04-05 Thread Kevin Hunter

At 7:02am -0400 Tue, 05 Apr 2011, Michael Meeks wrote:

On Mon, 2011-04-04 at 12:52 -0400, Kevin Hunter wrote:

In a similar vein, I would love for a *.EXT functionality, where I
don't have to click on the filters, but could type in to the location


Ho hum; that starts to do quite some violence to the platform-specific
file-selector dialogs; doing interactive changes to the filter logic
while the user types is likely to make the behaviour of these things
even worse than it is now ;-)

So - in general, I'd rather prefer to see that feature in the platform
file-selectors (personally), and perhaps (if anyone at all uses it), in
the built-in LO selector.

Nice feature idea though; be great to see it Gtk+, KDE etc.


Or, put differently, there /is/ a technical reason why not: support from 
the native GUI toolkit libraries.  Darn.  I was hoping that the reason I 
couldn't see a QD path was because I just don't know the Gtk+/KDE APIs 
very well.  Alas.


Thanks,

Kevin

P.S. If this does turn out to be possible, and since the earliest I 
could even attempt to look at this little feature idea would be late 
May, I'll mention that if someone else were to look at this, the 
functionality I'm thinking of would be to hit return to update the 
dialog box, not to update on each keystroke.

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


Re: [Libreoffice] Order of filters in the Open dialog

2011-04-04 Thread Kevin Hunter

At 11:59am -0400 Mon, 04 Apr 2011, Michael Meeks wrote:

On Mon, 2011-04-04 at 09:39 +0200, Cedric Bosdonnat wrote:

I'm not sure what we want to do for the Open dialog filters...
anyone else has an idea what to do?


Not worrying about 'open' would be my tip. Almost no-one manually
selects a filter in the open dialog, they just expect the
auto-detection to work right, and 99% of the time it might even do
that ;-)


Sorry, I may be missing context as I've ignored this thread until now, 
but is this in terms of the interaction?  Or the code behind the filters 
/after/ the file has been selected and the 'open' button has been 
pressed?  If it's to do with the dialog and user interaction (i.e. 
before pressing the open button), I'll mention that I use the filters 
regularly, to weed out a large portion of the files in a directory, 
usually when I can't instantly think of the file name I want to open.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] file name glob filter (was: Re: Order of filters in the Open dialog)

2011-04-04 Thread Kevin Hunter

At 11:59am -0400 Mon, 04 Apr 2011, Michael Meeks wrote:

On Mon, 2011-04-04 at 09:39 +0200, Cedric Bosdonnat wrote:

I'm not sure what we want to do for the Open dialog filters... anyone
else has an idea what to do?


Not worrying about 'open' would be my tip. Almost no-one manually
selects a filter in the open dialog, they just expect the auto-detection
to work right, and 99% of the time it might even do that ;-)


In a similar vein, I would love for a *.EXT functionality, where I 
don't have to click on the filters, but could type in to the location 
bar something with a filename glob and it would filter accordingly. 
Like, 2010_Taxes*.ods might filter all but the files that match that 
glob pattern.


Is this already implemented and I'm just not aware how to use it?  Or is 
there some reason (other than lack of someone coding it) that prevents 
this feature?


Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Test LibreOffice@

2011-03-28 Thread Kevin Hunter

At 11:36am -0400 Mon, 28 Mar 2011, Christian Lohmaier wrote:

On Mon, Mar 28, 2011 at 4:53 PM, Kevin Hunter wrote:

At 10:39am -0400 Mon, 28 Mar 2011, Christian Lohmaier wrote:
it smells like a misconfiguration of the list or FDO's mailing
setup somewhere.

Is there something obvious I'm overlooking? Or something simple I
could do  solve this particular mailing list issue?


The most simple first step is to read the reason for the bounce that
is included with the probe/warning messages. That should at least
give a hint why mail delivery failed.


Ah ... now I know why I've been ignoring it.  Here's the return message 
in the bounce:


-
[...]
554 Service
unavailable; Client host [gabe.freedesktop.org] blocked using 
Barracuda Reputation;

   http://bbl.barracudacentral.com/q.cgi?ip=70.38.55.108
 (in replyto end of DATA command)
-

This particular bounce was attached to one of the spam messages that got 
through to the list. (gabe doesn't have a dynamic IP address, does it?)


I don't know how to proceed from here.  Do I just keep ignoring them?

Thanks,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


[Libreoffice] LO release web-accessible changelog?

2011-03-23 Thread Kevin Hunter

Hullo List,

In a drive-by conversation, a friend recently asked me what was changed 
between LO 3.3.1 and 3.3.2.  Given my day job, I can't keep up with all 
the messages that go by on this list, so I hastily searched for a 
changelog of sorts.  Someone suggested that we'd put a list of changes 
into the release announcement, but when I looked at the blog, I didn't 
see a list of changes:


http://blog.documentfoundation.org/2011/03/22/libreoffice-3-3-2-is-now-available/

Then it was suggested that they may have been listed in the RC release 
announcement, but not this update announcement.


I was looking for something along the lines of these pages:

http://www.postgresql.org/docs/current/static/release.html
http://www.postgresql.org/about/news.1289

Do we have a page that I'm missing akin to either of these?  And if not, 
would others agree that they would be of use?


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Cannot save .ods and .odt files

2011-03-07 Thread Kevin Hunter

At 3:11am -0500 Mon, 07 Mar 2011, Francois Tigeot wrote:

Something has been bothering me for a while: ever since I succeeded
in building a LibreOffice binary for DragonFly BSD, I haven't been
able to save OpenDocument format files.

The dialog box just closes itself and reopens half a second later.
No  file is written to disk.

Saving .fods and .fodt files works fine.

How can I know what exactly is going wrong ?


Are you asking about inserting debugging statements?  If so, then you 
may appreciate the OSL_TRACE macro, which has a signature exactly like 
printf.  (And if not, please allow me to hijack this thread to explain 
what I recently figured out for anyone else who may find this useful.)


OSL_TRACE( %d: %s = %s\n, __LINE__, myvar, myvar );

To enable that in a module output (for example sc), build with the debug 
flags:


$ . LinuxX86-64Env.Set.sh
$ cd sc
$ build  debug=true  dbglevel=2

I haven't yet messed with other dbglevels, but you could start from 1 
and see if any other levels better fit your needs.  And clearly update 
the LinuxX... bit to whatever's pertinent for you.


Then, the code-build cycle could be as simple as adding an OSL_TRACE and 
executing that build command again.


*Note that for debugging like this, after you've run make dev-install 
in the root directory, you don't need to execute it again after building 
a follow-up.  So, a build, code, and debug run on my machine might look 
like:


$ make clean
$ make  # wait for 2+ hours on my machine
$ make dev-install
$ LODEV_PROG=$(pwd)/install/program/soffice

$ . LinuxX86-64Env.Set.sh
$ cd sc
$ $LODEV_PROG   # run the program
  # make a code change
$ build debug=true dbglevel=2
$ $LODEV_PROG   # run the program
  # make a code change
$ build debug=true dbglevel=2
$ $LODEV_PROG   # run the program
 # etc ...

Hope this helps,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Cannot save .ods and .odt files

2011-03-07 Thread Kevin Hunter

At 8:45am -0500 Mon, 07 Mar 2011, Francois Tigeot wrote:

I would suspect something like file-locking to be a problem here.
Do you have an 'strace' equivalent you can use to see what syscalls
fail ?


truss is the strace equivalent but it stops printing anything after
the initial LibO launch. There's nothing shown when I save a file.


Does truss have the ability to follow child processes?  It's been 
awhile, but I believe strace has this capability via -ff and -o.  You'll 
know your man page better than me of course, but I was able to find this 
from a few years ago in my Bash history:


$ strace  -ffo  /tmp/$DEVNAME  $DEVBIN

Which I believe created a bunch of files in strace output files in /tmp.

In other words, LO forks itself a number of times, which is why when you 
run it from the command line without backgrounding it, it returns 
control to the shell almost immediately.


Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Cannot save .ods and .odt files

2011-03-07 Thread Kevin Hunter

At 7:54am -0500 Mon, 07 Mar 2011, Francois Tigeot wrote:

On Mon, Mar 07, 2011 at 07:02:30AM -0500, Kevin Hunter wrote:

Are you asking about inserting debugging statements?


I hoped to find some way to print more details at runtime.

If I can't do it with an existing binary, I'll rebuild a new one with
your debug suggestions.


Ah, heh.  Does that imply a debugger of sorts?  I use debuggers, but 
generally try to use them as a *very* last resort.  I'm much more fond 
of printf or equivalent.


Or are you talking about something more programmatic?  I've recently 
gone down the path of running LO as a server, and using UNO via Python 
(PyUNO) to talk to it.  I have a working example that opens a file, 
saves it to another format, then closes it, if that would be of use to 
anyone.


Or was the strace/truss talk more of what you were after?

Cheers,

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] Cannot save .ods and .odt files

2011-03-07 Thread Kevin Hunter

At 10:51am -0500 Mon, 07 Mar 2011, Francois Tigeot wrote:

Well, I was also thinking about a printf-like solution. I just hoped
to not have to rebuild a binary, it takes almost two hours and a
half...


That's just it: you don't have to rebuild the whole of LO.  By using 
'make dev-install', you can just build the module with which you're 
working.  Depending on how fundamental the change, you can be up and 
running within 20 seconds of saving a file.  That's the build step. 
From my earlier email:


$ . LinuxX86-64Env.Set.sh
$ cd sc  # in this case, I'm working on the sc module
$ build  debug=true  dbglevel=2

For a simple change in a file not referenced by other source files, that 
build command might take 20 seconds.  Then just rerun the program and 
you'll see your changes enacted.  No need to rebuild everything.


Does that help?

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: [Libreoffice] [REVIEW] fix for a chart crasher

2011-03-03 Thread Kevin Hunter

At 4:22am -0500 Thu, 03 Mar 2011, Tor Lillqvist wrote:

for a cherry-pick candidate to libreoffice-3-3. It's a very simple
safe fix, and fixes a crasher as reported in


But do you know how those values can end up being negative in the
first place, is that a symptom of something being horribly wrong
otherwise, and this patch now then just plasters over that and
instead of crashing it might permit silent data corruption elsewhere
then instead?


Alas, in my limited 20 minutes last night I was not able to get the full 
scope in my mind, so I pose it as a question here instead:  I'm a little 
concerned with /why/ either of those two functions are returning a 
negative number at all.  (I certainly didn't give LO one in the input!) 
 Is there ever a time that either of those should be negative?  The 
rest of the code in getAllTicks() assumes that they're always = 0.


At first glance, getTickDepth() and getMaxTickCount() read to me as 
requests for non-negative values (from an English/math sense).  However, 
I note that the return values are sal_Int32 instead of sal_uInt32.


Going one call down in the stack trace:

sal_Int32 TickmarkHelper::getTickDepth() const
{
return m_rIncrement.SubIncrements.getLength() + 1;
}

If that's truly a length (where are the frickin' data definitions?!?!), 
then, sans a wraparound, that certainly shouldn't be negative.  Surely 
we aren't at MAX_INT?


sal_Int32 TickmarkHelper::getMaxTickCount( sal_Int32 nDepth ) const

Again, I've run out of time, but my spidey sense is pointing to a 
combination of too small a range = close enough to zero for the 
computer to interpret as 0 or returning a negative almost 0, and then 
line 484 or 495:


484: sal_Int32 nIntervalCount = static_castsal_Int32( fSub / 
m_rIncrement.Distance );


I have not yet sussed out what approxSub() or isFinite() does to fSub. 
Are they making nIntervalCount negative, through the fSub proxy?


495: nTickCount = nIntervalCount * 
(m_rIncrement.SubIncrements[nDepth-1].IntervalCount-1);


If it's 495, I don't know how it's getting past the if above.

Thoughts?

Kevin
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


  1   2   >