[Libreoffice-commits] .: desktop/source vcl/unx

Stephan Bergmann sbergmann at kemper.freedesktop.org
Thu Jun 21 04:29:29 PDT 2012


 desktop/source/app/cmdlineargs.cxx |    3 +++
 vcl/unx/generic/app/sm.cxx         |    8 ++++----
 2 files changed, 7 insertions(+), 4 deletions(-)

New commits:
commit 0f12c5de67869593cfbc36760957467a122bf81a
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Jun 21 13:20:22 2012 +0200

    Fix X Session Management support
    
    ...passing -session= into soffice was no longer supported.
    
    The way I tested this with Gnome 3.4 (Fedora 17) is with:
    * Run gnome-session-properties to select "Options - Automatically remember
      running applications when logging out"
    * Create ~/.local/share/applications/lodev.desktop:
      [Desktop Entry]
      Exec=.../core/solver/unxlngx6/installation/opt/program/soffice
      Icon=libreoffice-startcenter
      Name=LOdev
      Type=Application
    * Run "startx /usr/bin/gnome-session -- /usr/bin/Xephyr :1"
    
    Change-Id: Id8a6e431e4c355caafa6c7111a435ebc0d35f78a

diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index cbfc4ed..af7ee26 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -293,6 +293,9 @@ void CommandLineArgs::ParseCommandLine_Impl( Supplier& supplier )
                     if (!oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("backtrace")) &&
                         !oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("strace")) &&
                         !oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("valgrind")) &&
+                    // for X Session Management, handled in
+                    // vcl/unx/generic/app/sm.cxx:
+                        !oArg.match("session=") &&
                     //ignore additional legacy options that don't do anything anymore
                         !oArg.equalsIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("nocrashreport")))
                     {
diff --git a/vcl/unx/generic/app/sm.cxx b/vcl/unx/generic/app/sm.cxx
index a897805..e0bbdb9 100644
--- a/vcl/unx/generic/app/sm.cxx
+++ b/vcl/unx/generic/app/sm.cxx
@@ -197,11 +197,11 @@ static void BuildSmPropertyList()
         pSmProps[ 2 ].vals[0].length    = aExec.getLength()+1;
         pSmProps[ 2 ].vals[0].value = strdup( aExec.getStr() );
         rtl::OStringBuffer aRestartOption;
-        aRestartOption.append(RTL_CONSTASCII_STRINGPARAM("-session="));
+        aRestartOption.append(RTL_CONSTASCII_STRINGPARAM("--session="));
         aRestartOption.append(SessionManagerClient::getSessionID());
         pSmProps[ 2 ].vals[1].length    = aRestartOption.getLength()+1;
         pSmProps[ 2 ].vals[1].value = strdup(aRestartOption.getStr());
-        rtl::OString aRestartOptionNoLogo(RTL_CONSTASCII_STRINGPARAM("-nologo"));
+        rtl::OString aRestartOptionNoLogo(RTL_CONSTASCII_STRINGPARAM("--nologo"));
         pSmProps[ 2 ].vals[2].length    = aRestartOptionNoLogo.getLength()+1;
         pSmProps[ 2 ].vals[2].value = strdup(aRestartOptionNoLogo.getStr());
 
@@ -544,10 +544,10 @@ const rtl::OString& SessionManagerClient::getPreviousSessionID()
     {
         ::rtl::OUString aArg;
         osl_getCommandArg( i, &aArg.pData );
-        if(aArg.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("-session=")))
+        if(aArg.matchAsciiL(RTL_CONSTASCII_STRINGPARAM("--session=")))
         {
             aPrevId = rtl::OUStringToOString(
-                aArg.copy(RTL_CONSTASCII_LENGTH("-session=")),
+                aArg.copy(RTL_CONSTASCII_LENGTH("--session=")),
                 osl_getThreadTextEncoding());
             break;
         }


More information about the Libreoffice-commits mailing list