Commit Graph

455 Commits

Author SHA1 Message Date
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
3a35e28628 Remove visual noise from pyuno
Change-Id: I27f5edf45d5968879436e2466f953576651ed8ae
Reviewed-on: https://gerrit.libreoffice.org/8290
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-26 09:21:35 -06:00
0ce0c369aa Remove unneccessary comments
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb
Reviewed-on: https://gerrit.libreoffice.org/8182
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-23 03:38:49 +00:00
f2471280c7 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
2014-02-20 12:01:34 +01:00
4e887567c5 A rudimentary framework for additional Python tests not run by default
* see the mail thread starting at
  <http://lists.freedesktop.org/archives/libreoffice/2014-February/059548.html>
  "Testing/Working on PyUNO?" for a rationale

* run the tests via top-level "make PythonTest_pytests" or "cd pyuno && make -rs
  PythonTest_pytests" or similar

* see the documentation in pyuno/PythonTest_pytests.mk for adding tests to the
  framework

Change-Id: I6a2a9e60b3294cd649f9cccbaffbd3f6bd79ecff
2014-02-20 12:01:34 +01:00
0443d0a90e normalize values of SYSTEM_PYTHON, SYSTEM_MYSQL_CPPCONN
Change-Id: I8932febdd39c35f23fb3a89703b69e25302f5678
2014-02-12 09:53:09 +01:00
9e77c2fb7c Remove UNOIDL "array" and "union" vaporware remnants
...and deprecate what cannot be removed for compatibility.

Change-Id: I1ea335af775b867b468b8285113631167729a92a
2014-01-31 10:15:47 +01:00
b1de7935b8 coverity#983054, reorder code to avoid memory leak
Change-Id: If14160802f77673e3ebe69850e00d0506125969c
2014-01-30 12:01:47 +01:00
612dac063a bool improvements
Change-Id: I0dc09b7a6ee2849bd0c2ffc31be45f81cd2c15ee
2014-01-29 11:08:32 +01:00
8e15df3dce bool improvements
Change-Id: I42f6d8b3e62834b0612d84586f791f25e967c9c7
2014-01-28 20:26:24 +01:00
51f252dbf2 coverity#440338 Dereference null return value
Change-Id: I5da7c1d8fe7f4632b386a02dd54f4b203a00fc25
2014-01-28 11:29:17 +00:00
cedba3ffd8 Use bool
Change-Id: I4c05c602ecdd77d07e8106387270bf01718e975b
2014-01-10 17:11:44 +01:00
431b49fbec No serviceNames attribute in Loader
Change-Id: I6cc001d18683fc412f0ec0b6a33054d6e745463f
2014-01-07 15:38:19 +01:00
82625bb98e remove unnecessary sal_Unicode casts in OUStringBuffer::append calls
Convert code like:
    buf.append( static_cast<sal_Unicode>('!') );
to:
    buf.append( '!' );

Change-Id: Iacb03a61de65a895540940953b49620677b3d051
2014-01-07 09:43:37 +02:00
9ed364774c Adapt all (non-extension, SharedLibrary) .components to environment="..."
Change-Id: I56f38bd786f3a026cb2908f28540dc9c4003af83
2013-12-17 11:06:00 +01:00
50bd5c11f5 wsprintf is broken by design and never writes more than 1024 characters
Change-Id: I791e55bb5d98ee82c01271dcebafa7c4672cd424
2013-11-29 17:26:54 +01:00
983e033273 Fix different typos for "unknown"
Change-Id: Ib2ee00d4e9f4c6c05d090adfcd5fb791fcbca72c
2013-11-25 22:05:13 +01:00
ab5d1fbfb4 SAL_WARN_UNUSED com::sun::uno::Any
Change-Id: I9058044d13f696e07667dce706f6c311af6dbea0
2013-11-14 21:02:40 +01:00
2236cd0023 -Werror,-Wunused-member-function
Change-Id: Ic4dba1d313c3a27ac02f9d382d2b55218e1bad10
2013-11-14 10:14:58 +01:00
fcd1637d51 convert OUString compareToAscii == 0 to equalsAscii
Convert code like
   aStr.compareToAscii("XXX") == 0
to
  aStr.equalsAscii("XXX")
which is both easier to read and faster.

Change-Id: I448abf58f2fa0e7715dba53f8e8825ca0587c83f
2013-11-11 12:58:13 +02:00
0a9ef5a18e convert OUString 0==compareToAscii to equalsAscii
Convert code like:
   0 == aStr.compareToAscii("XXX")
to
   aStr.equalsAscii("XXX")
which is both clearer and faster.

Change-Id: I2e906d7d38494db38eb292702fadb781b1251e07
2013-11-11 12:58:12 +02:00
e52779d2f8 remove unnecessary use of OUString constructor
Change-Id: Ifb220af71857ddacd64e8204fb6d3e4aad8eef71
2013-11-11 11:21:26 +02:00
8df17a3409 gbuild: set Package default target to INSTDIR
Change-Id: I2bc45e4ba63f5faaee7389bcd9d7b3f563503186
2013-10-28 20:17:26 +01:00
1acaa577b6 sal: add special handling of argc==0 to osl_setCommandArgs()
... to set up a fake command line.  This is used from pyuno, when
invoked from the "python" executable as "import uno".

On WNT there is an API to get the actual command line, so just use that
even in the "fake" case; on UNX just fake something up.

Just for the record the whole osl_setCommandArgs() is called exactly once
assumption should work out _unless_ there is a program that uses SAL_MAIN
_and_ does a python-level "import uno" _before_ it wants to create a
python-based UNO service (via pyuno_loader::CreateInstance), since
pyuno already takes care to call Runtime::initialize() at most once.

Change-Id: Ifd23de733ea3e6b694d46ab039b6aa4fd3e7fc1b
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-10 14:38:38 +02:00
2386a92c1e pyuno: set up fake command line in getComponentContext()
Easy to trigger the assert in osl_getCommandArgCount(), just
run instdir/*/program/python and "import unohelper".

Avoid that by setting up a fake command line, hopefully
nobody expects to be able to give relevant args to python...

Change-Id: I0df6c23d6ecbb3c2bce81a9d5bcecdcb1729ddbb
2013-10-09 19:46:00 +02:00
df1076965f fdo#70196: Python 2 compatibility for UNO import error handling
Add backwards compatibility support for Python 2 to the earlier
change in fdo#66025 to improve import error handling under Python 3.

Change-Id: I47bf8ef255c4c2a3e4a2754414977aaa8ed32483
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-10-07 15:10:54 +02:00
edba11021b WaE: unused variable
Change-Id: Iea8461444c29de9968a5bfa85a2dabb186db47ca
2013-10-02 19:32:31 +03:00
7a8db272e9 Start hacking --enable-canonical-installation-tree-structure back into shape
Had been totaly broken by the recent changes. (Which is fine, it is
just an experimental hack anyway, I am not sure whether it will ever
be used in anger. Just a pet peeve of mine, I dislike seeing
libraries, configuration files, resources etc mixed together in one
"program" folder, especially on OS X, where the convention is to have
app-specific dylibs and frameworks in "Frameworks", and resource files
in "Resources". But this is not any requirement as such; there are
apps in the Mac App Store that blatantly "break" this convention.)

Basically, replace uses of gb_PROGRAMDIRNAME and
gb_Package_PROGRAMDIRNAME with more specific LIBO_FOO_FOLDER, which
for normal builds all expand to the same "program" anyway.

Change-Id: I16c2b3351caa00e251e229aafbccb8346042d3c1
2013-09-25 22:13:23 +02:00
4c63fd10a5 Try to fix cross-compilation
Add more FOO_FOR_BUILD variables and some gb_Foo_for_build functions.

Get rid of gb_INSTROOT and gb_DEVINSTALLROOT, just use INSTROOT.

Change-Id: Iee531b02d14fae41edb68ad589a5dec829a60255
2013-09-23 00:54:43 +03:00
a546bf8d5b pyuno: rename the python wrapper executable
Putting it in a subdirectory on solver is no longer necessary since
python3 started delivering to INSTDIR, so lose the crazy naming.

Change-Id: I17e924e5d872768a64f6a3112f1294f3def7120e
2013-09-22 11:08:31 +02:00
70c35265f5 gbuild: remove libraries from OUTDIR and WORKDIR
Refactor everything to find and link libraries directly in INSTDIR.

- add gb_LinkTarget_get_linksearchpath_for_layer, and use it to set up
  -L paths for T_LDFLAGS in such a way that only allowed libraries
  can be linked against; i.e. it's not possible to link URE
  linktargets against OOO or not-installed libraries
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
  (TODO: this needs cleanup)
- since a pattern rule won't work for linking libraries in INSTDIR,
  add a separate per-file rule for every INSTDIR lib
- pattern rule can't find link target in the clean target any more
  so add a LINKTARGET variable
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- tweak the call to gb_Library_Library_platform to pass in a path
  in sdk/lib for the versioned URE libs
- fix the Library clean target
- add LAYER parameter to gb_LinkTarget_LinkTarget
- adjust platform link commands
- MSVC link command now uses explicit -manifestfile and -pdb
  parameters to keep misc. files out of INSTDIR
- remove gb_Helper_OUTDIR_FOR_BUILDLIBDIR
- adjust Extension, CppunitTest,  JunitTest, PythonTest, Gallery,
  various CustomTargets to search INSTDIR
- remove SDK library symlinks and import libs from odk/Package_lib
- on Mac OS X, put .dylib symlinks into sdk/lib even though those
  are not packaged and would be created by the SDK configury;
  we need these to be somewhere for linking anyway
- add a (unfortunately cyclic) dependency on Package ure_install to sal

Change-Id: I70d88742f8c8232ad7b9521416275c67b64fe6cf
2013-09-22 11:08:31 +02:00
6667caef24 gbuild: remove gb_Rdb__get_final_target
... by replacing gb_Rdb_install with a separate constructor so the right
target can be registered at the module.  There is still an ugly special
case for the ure/services.

Change-Id: I81c004143f201aaf38daca99819888313ee24f49
2013-09-12 14:39:00 +02:00
5397b49f4d Towards a working instdir for Mac OS X
Introduced gb_INSTROOT, which is the same as $(INSTDIR) except for Mac OS X,
where it is $(INSTDIR)/LibreOffice.app/Contents.  Most stuff ends up there (so
most occurrences of $(INSTDIR) have been replaced with $(gb_INSTROOT)), but SDK-
related stuff goes to $(INSTDIR)/$(gb_Package_SDKDIRNAME).  (And
GeneratedPackage needed to be made more flexible, to allow for packages that go
into either of those two places.)

For Android and iOS, gb_INSTROOT probably still needs to be set.

The most obvious missing thing yet to make instdir work for Mac OS X is the
instdir/*/LibreOffice.app/Contents/ure/ vs.
instdir/*/LibreOffice.app/Contents/ure-link/ split.

Change-Id: I4478edd27b14c92c96d92d5169bdca3ec50d78f5
2013-09-11 00:50:54 +02:00
d44759e3d7 gbuild: install rdb files directly in module they come from
Change-Id: I3a9cb4ce71cfb02b7378289a36aa0eb6e3a42f26
2013-09-09 22:09:10 +02:00
0ed6f8c28e pyuno: another filelist to make instdir better
Change-Id: Ieda9b3847de3de8989eaafc542e60216baa1af4d
2013-09-09 22:09:05 +02:00
41f00a356e pyuno: this rc file seems to be unused
Change-Id: I98b6263a464b46075e69e363c3eb9e4ec4557c46
2013-09-09 22:09:04 +02:00
031fd222ac pyuno: install python scripts using filelists
Change-Id: Ic7515acd14916cc36b59749059ed623cda906c23
2013-09-09 22:08:59 +02:00
e4aac6daea ENABLE_MACOSX_MACLIKE* Harmonize ENABLE_* variable to TRUE/<nothing>
Change-Id: I0c51975c1c13dbd100bbd8e6103835ce8a8c3691
2013-08-30 23:02:44 -05:00
64b993e046 finish deprecation of O(U)String::valueOf()
Compiler plugin to replace with matching number(), boolean() or OUString ctor,
ran it, few manual tweaks, mark as really deprecated.

Change-Id: I4a79bdbcf4c460d21e73b635d2bd3725c22876b2
2013-08-21 15:10:35 +02:00
19277d02fb osl_getThreadIdentifier(0) -> osl::Thread::getCurrentIdentifier()
Change-Id: Ida9785c4b9fda0459769957734952e69d7a9de44
2013-08-21 14:19:10 +02:00
058a3d1c46 Further work on the "Mac-like app structure" option
Lots of stuff still either ended up in the wrong place, or was looked up from
the wrong place, or both. Fix most cases.

Change-Id: I06ebbce207c219f3cd82b4387dd9b3fdb83420d4
2013-08-18 21:11:16 +03:00
c6a7300974 Use subfolder names from <config_folders.h>
Change all instances of hardcoded "program", "share" etc subfolder names to
use those from <config_folders.h> instead. In normal builds, the end result
will not change.

Change-Id: I91c95cd8e482818be67307e889ae6df887763f53
2013-08-18 21:11:16 +03:00
7ef72aefc6 Mark as const
Change-Id: Ic7ee570935b5d827dc01a483877ea5021da5abea
2013-08-15 22:09:58 +09:00
1be8e912ba fdo#50470: Restore pyuno object method introspection in Python 3
Switch to __dir__ entry point for introspection as Python 3 dropped support
for __members__/__methods__.  This is backwards compatible to Python 2.6.

Module initialization adjusted to complete type setup (needed for tp_dict)
via PyType_Ready.

Change-Id: Ie1f7b9dd4279242de89d009eb7acdc8c786dab8f
Reviewed-on: https://gerrit.libreoffice.org/5375
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2013-08-13 11:34:52 +00:00
d6c63c9a84 Remove whitespace from line ends
Change-Id: Ie894879eaebda32bc4f99e7ad7f810c569e86a7a
2013-07-29 11:35:18 +02:00
948b6ea02e fdo#66025: Improve accuracy of ImportError traceback and message
The ImportError raised on an import failure with the uno module loaded
now includes a complete traceback and the original Python exception
message text, combined with the most relevant (nearest to failure if
imports are nested) uno lookup that also failed.

Change-Id: Id968d84d7f09d555a81017a99369beb503d61439
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-29 11:35:18 +02:00
fbe28de6fb fdo#66025: Simplify new ImportError logic
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 15:26:10 +02:00
329125abb6 fdo#66025: Minor clean-up of previous patch
Change-Id: Idaaf8ebbf419899ba04b77cf10b217c141652a3a
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 13:04:25 +02:00
7fd81244c2 fdo#66025: Improve ImportError raised from _uno_import
Change-Id: I92301f0c37d69e5977a12ab4d5a360f7a4ff20fe
Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-07-24 10:04:44 +02:00
69f0c2cfd6 remove last users of gb_Executable_add_noexception_object
Change-Id: Iddee238aa800ecfee8f97a7132b38b6446e0b2a4
Reviewed-on: https://gerrit.libreoffice.org/4953
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>
2013-07-17 12:18:47 +00:00