Repository.mk                                             |    1 
 compilerplugins/clang/mergeclasses.results                |    1 
 compilerplugins/clang/staticmethods.cxx                   |    6 
 compilerplugins/clang/store/constantfunction.cxx          |    4 
 shell/Library_recentfile.mk                               |   35 -
 shell/Module_shell.mk                                     |    6 
 shell/README                                              |    2 
 shell/source/unix/sysshell/recently_used_file.cxx         |  131 ---
 shell/source/unix/sysshell/recently_used_file.hxx         |   61 -
 shell/source/unix/sysshell/recently_used_file_handler.cxx |  471 --------------
 solenv/clang-format/blacklist                             |    3 
 sysui/desktop/apparmor/program.soffice.bin                |    1 
 vcl/unx/generic/app/salinst.cxx                           |   16 
 13 files changed, 2 insertions(+), 736 deletions(-)

New commits:
commit af19a3cc6aa352643d4f728e722945903a5556b3
Author:     Arkadiy Illarionov <qar...@gmail.com>
AuthorDate: Sun Mar 24 16:53:37 2019 +0300
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Sun Mar 24 18:52:22 2019 +0100

    Resolves: tdf#122114 remove support for ~/.recently-used file
    
    Change-Id: Ie91f0bf21e6f5c3f7a7aa4ae3d1dff6cc8e15a86
    Reviewed-on: https://gerrit.libreoffice.org/69597
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/Repository.mk b/Repository.mk
index 12007f3486e4..6508d6866807 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -622,7 +622,6 @@ $(eval $(call 
gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
        ) \
        emboleobj \
        package2 \
-       $(if $(USING_X11),recentfile) \
        $(call gb_Helper_optional,SCRIPTING,scriptframe) \
        sdbc2 \
        sofficeapp \
diff --git a/compilerplugins/clang/mergeclasses.results 
b/compilerplugins/clang/mergeclasses.results
index e805ec5f0923..9ad9ae738149 100644
--- a/compilerplugins/clang/mergeclasses.results
+++ b/compilerplugins/clang/mergeclasses.results
@@ -240,7 +240,6 @@ merge frm::ITextSelectionListener with frm::ORichTextPeer
 merge frm::OFormComponents with frm::ODatabaseForm
 merge ftp::CurlInput with InsertData
 merge gio::Seekable with gio::OutputStream
-merge i_xml_parser_event_handler with (anonymous 
namespace)::recently_used_file_filter
 merge oglcanvas::IBufferContext with oglcanvas::(anonymous 
namespace)::BufferContextImpl
 merge old_SdrDownCompat with SdIOCompat
 merge oox::SequenceSeekableStream with oox::SequenceInputStream
diff --git a/compilerplugins/clang/staticmethods.cxx 
b/compilerplugins/clang/staticmethods.cxx
index 157c2190a3ec..bc37189eb64b 100644
--- a/compilerplugins/clang/staticmethods.cxx
+++ b/compilerplugins/clang/staticmethods.cxx
@@ -109,12 +109,6 @@ bool StaticMethods::TraverseCXXMethodDecl(const 
CXXMethodDecl * pCXXMethodDecl)
     if (cdc.Class("BitmapInfoAccess").GlobalNamespace()) {
         return true;
     }
-    // in this case, the code is taking the address of the member function
-    // shell/source/unix/sysshell/recently_used_file_handler.cxx
-    if 
(cdc.Struct("recently_used_item").AnonymousNamespace().GlobalNamespace())
-    {
-        return true;
-    }
     // the unotools and svl config code stuff is doing weird stuff with a 
reference-counted statically allocated pImpl class
     if (loplugin::hasPathnamePrefix(aFilename, SRCDIR "/include/unotools/")) {
         return true;
diff --git a/compilerplugins/clang/store/constantfunction.cxx 
b/compilerplugins/clang/store/constantfunction.cxx
index b2be6b90532d..a1b795d63ea7 100644
--- a/compilerplugins/clang/store/constantfunction.cxx
+++ b/compilerplugins/clang/store/constantfunction.cxx
@@ -171,10 +171,6 @@ bool ConstantFunction::VisitFunctionDecl(const 
FunctionDecl * pFunctionDecl) {
     if (aFunctionName == "osl_thread_priority_init_Impl") {
         return true;
     }
-    // a pointer to this function is taken and passed to an underlying API, 
shell/source/unix/sysshell/recently_used_file_handler.cxx
-    if (aFunctionName == "(anonymous 
namespace)::recently_used_item::set_nothing") {
-        return true;
-    }
     // a pointer to this function is taken and passed to an underlying API, 
cppu/source/uno/lbenv.cxx
     if (aFunctionName == "defenv_dispose") {
         return true;
diff --git a/shell/Library_recentfile.mk b/shell/Library_recentfile.mk
deleted file mode 100644
index 5cd46b307124..000000000000
--- a/shell/Library_recentfile.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-# -*- 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_Library_Library,recentfile))
-
-$(eval $(call gb_Library_set_include,recentfile,\
-       -I$(SRCDIR)/shell/inc \
-       $$(INCLUDE) \
-))
-
-$(eval $(call gb_Library_use_externals,recentfile,\
-       boost_headers \
-       expat \
-))
-
-$(eval $(call gb_Library_use_libraries,recentfile,\
-       sal \
-))
-
-$(eval $(call gb_Library_use_static_libraries,recentfile,\
-       shell_xmlparser \
-))
-
-$(eval $(call gb_Library_add_exception_objects,recentfile,\
-    shell/source/unix/sysshell/recently_used_file \
-    shell/source/unix/sysshell/recently_used_file_handler \
-))
-
-# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk
index 48e0aaecdfb3..2aeb69177a13 100644
--- a/shell/Module_shell.mk
+++ b/shell/Module_shell.mk
@@ -91,12 +91,6 @@ $(eval $(call gb_Module_add_targets,shell,\
        Library_syssh \
 ))
 
-ifeq ($(USING_X11),TRUE)
-$(eval $(call gb_Module_add_targets,shell,\
-       Library_recentfile \
-))
-endif
-
 ifneq ($(OS),WNT)
 
 $(eval $(call gb_Module_add_targets,shell,\
diff --git a/shell/README b/shell/README
index 1a02c24badd3..b8e821a66ae1 100644
--- a/shell/README
+++ b/shell/README
@@ -1 +1 @@
-System helpers - launching URI, recently used files, system integration, 
external mailer support etc.
+System helpers - launching URI, system integration, external mailer support 
etc.
diff --git a/shell/source/unix/sysshell/recently_used_file.cxx 
b/shell/source/unix/sysshell/recently_used_file.cxx
deleted file mode 100644
index 746704dbfbd0..000000000000
--- a/shell/source/unix/sysshell/recently_used_file.cxx
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "recently_used_file.hxx"
-#include <rtl/ustring.hxx>
-#include <sal/log.hxx>
-#include <osl/process.h>
-#include <osl/security.hxx>
-#include <osl/thread.h>
-#include <osl/file.hxx>
-
-#include <sys/file.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-const char SLASH[] = "/";
-
-namespace {
-
-void ensure_final_slash(/*inout*/ OUString& path)
-{
-    if (!path.isEmpty() &&
-        (SLASH[0] != path.pData->buffer[path.getLength() - 1]))
-        path += SLASH;
-}
-
-} // namespace private
-
-
-recently_used_file::recently_used_file() :
-    file_(nullptr)
-{
-    osl::Security sec;
-    OUString homedir_url;
-
-    if (!sec.getHomeDir(homedir_url))
-        throw "Cannot determine user home directory";
-
-    OUString homedir;
-    osl::FileBase::getSystemPathFromFileURL(homedir_url, homedir);
-
-    OUString rufn = homedir;
-    ensure_final_slash(rufn);
-    rufn += ".recently-used";
-
-    OString tmp =
-        OUStringToOString(rufn, osl_getThreadTextEncoding());
-
-    int fd = open(tmp.getStr(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
-    if (fd != -1) {
-        file_ = fdopen(fd, "w+");
-        if (file_ == nullptr) {
-            close(fd);
-        }
-    }
-
-    if (nullptr == file_)
-        throw "I/O error opening ~/.recently-used";
-
-    if (lockf(fileno(file_), F_LOCK, 0) != 0)
-    {
-        fclose(file_);
-        throw "Cannot lock ~/.recently-used";
-    }
-}
-
-
-recently_used_file::~recently_used_file()
-{
-    int ret = lockf(fileno(file_), F_ULOCK, 0);
-    SAL_WARN_IF(ret != 0, "shell", "cannot unlock recently unused file");
-    fclose(file_);
-}
-
-
-void recently_used_file::reset() const
-{
-    rewind(file_);
-}
-
-
-void recently_used_file::truncate()
-{
-    if (ftruncate(fileno(file_), 0) == -1)
-        throw "I/O error: ftruncate failed";
-}
-
-
-size_t recently_used_file::read(char* buffer, size_t size) const
-{
-    size_t  r = fread(buffer, sizeof(char), size, file_);
-
-    if ((r < size) && ferror(file_))
-        throw "I/O error: read failed";
-
-    return r;
-}
-
-
-void recently_used_file::write(const char* buffer, size_t size) const
-{
-    if (size != fwrite(buffer, sizeof(char), size, file_))
-        throw "I/O error: write failed";
-}
-
-
-bool recently_used_file::eof() const
-{
-    return feof(file_);
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/unix/sysshell/recently_used_file.hxx 
b/shell/source/unix/sysshell/recently_used_file.hxx
deleted file mode 100644
index 88ba5d81d515..000000000000
--- a/shell/source/unix/sysshell/recently_used_file.hxx
+++ /dev/null
@@ -1,61 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_SHELL_SOURCE_UNIX_SYSSHELL_RECENTLY_USED_FILE_HXX
-#define INCLUDED_SHELL_SOURCE_UNIX_SYSSHELL_RECENTLY_USED_FILE_HXX
-
-#include <stdio.h>
-#include <unistd.h>
-
-// simple wrapper around the recently_used_file
-
-class recently_used_file
-{
-public:
-
-    recently_used_file();
-
-
-    ~recently_used_file();
-
-
-    // set file pointer to the start of file
-    void reset() const;
-
-
-    void truncate();
-
-
-    size_t read(
-        char* buffer,
-        size_t size) const;
-
-
-    void write(const char* buffer, size_t size) const;
-
-
-    bool eof() const;
-
-private:
-    FILE* file_;
-};
-
-#endif // INCLUDED_SHELL_SOURCE_UNIX_SYSSHELL_RECENTLY_USED_FILE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/unix/sysshell/recently_used_file_handler.cxx 
b/shell/source/unix/sysshell/recently_used_file_handler.cxx
deleted file mode 100644
index b2c2a419adf3..000000000000
--- a/shell/source/unix/sysshell/recently_used_file_handler.cxx
+++ /dev/null
@@ -1,471 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * 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/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <sal/config.h>
-
-#include <osl/process.h>
-#include <rtl/ustring.hxx>
-#include <rtl/string.hxx>
-#include <rtl/strbuf.hxx>
-
-#include <osl/thread.h>
-#include <osl/diagnose.h>
-#include "recently_used_file.hxx"
-
-#include <xml_parser.hxx>
-#include <i_xml_parser_event_handler.hxx>
-
-#include <map>
-#include <memory>
-#include <vector>
-#include <algorithm>
-#include <string.h>
-#include <time.h>
-
-namespace /* private */ {
-    #define TAG_RECENT_FILES "RecentFiles"
-    #define TAG_RECENT_ITEM  "RecentItem"
-    #define TAG_URI          "URI"
-    #define TAG_MIME_TYPE    "Mime-Type"
-    #define TAG_TIMESTAMP    "Timestamp"
-    #define TAG_PRIVATE      "Private"
-    #define TAG_GROUPS       "Groups"
-    #define TAG_GROUP        "Group"
-
-    struct recently_used_item
-    {
-        recently_used_item()
-            : timestamp_(-1)
-            , is_private_(false)
-        {}
-
-        recently_used_item(
-            const string_t& uri,
-            const string_t& mime_type,
-            const std::vector<string_t>& groups) :
-            uri_(uri),
-            mime_type_(mime_type),
-            is_private_(false),
-            groups_(groups)
-        {
-            timestamp_ = time(nullptr);
-        }
-
-        void set_uri(const string_t& character)
-        { uri_ = character; }
-
-        void set_mime_type(const string_t& character)
-        { mime_type_ = character; }
-
-        void set_timestamp(const string_t& character)
-        {
-            long t;
-            if (sscanf(character.c_str(), "%ld", &t) != 1)
-                timestamp_ = -1;
-            else
-                timestamp_ = static_cast<time_t>(t);
-        }
-
-        void set_is_private(SAL_UNUSED_PARAMETER const string_t& /*character*/)
-        { is_private_ = true; }
-
-        void set_groups(const string_t& character)
-        { groups_.push_back(character); }
-
-        void set_nothing(SAL_UNUSED_PARAMETER const string_t& /*character*/)
-        {}
-
-        bool has_groups() const
-        {
-            return !groups_.empty();
-        }
-
-        bool has_group(const string_t& name) const
-        {
-            return (has_groups() &&
-                    std::any_of(groups_.cbegin(), groups_.cend(),
-                        [&name](const string_t& s)
-                        { return (0 == strcasecmp(s.c_str(), name.c_str())); })
-                        // compare two string_t's case insensitive
-                   );
-
-        }
-
-        void write_xml(const recently_used_file& file) const
-        {
-            write_xml_start_tag(TAG_RECENT_ITEM, file, true);
-            write_xml_tag(TAG_URI, uri_, file);
-            write_xml_tag(TAG_MIME_TYPE, mime_type_, file);
-
-            OString ts = OString::number(timestamp_);
-            write_xml_tag(TAG_TIMESTAMP, ts.getStr(), file);
-
-            if (is_private_)
-                write_xml_tag(TAG_PRIVATE, file);
-
-            if (has_groups())
-            {
-                write_xml_start_tag(TAG_GROUPS, file, true);
-
-                for (auto& group : groups_)
-                    write_xml_tag(TAG_GROUP, group, file);
-
-                write_xml_end_tag(TAG_GROUPS, file);
-            }
-            write_xml_end_tag(TAG_RECENT_ITEM, file);
-        }
-
-        static OString escape_content(const string_t &text)
-        {
-            OStringBuffer aBuf;
-            for (auto i : text)
-            {
-                switch (i)
-                {
-                    case '&':  aBuf.append("&amp;");  break;
-                    case '<':  aBuf.append("&lt;");   break;
-                    case '>':  aBuf.append("&gt;");   break;
-                    case '\'': aBuf.append("&apos;"); break;
-                    case '"':  aBuf.append("&quot;"); break;
-                    default:   aBuf.append(i);  break;
-                }
-            }
-            return aBuf.makeStringAndClear();
-        }
-
-        void write_xml_tag(const string_t& name, const string_t& value, const 
recently_used_file& file) const
-        {
-            write_xml_start_tag(name, file, false);
-            OString escaped = escape_content (value);
-            file.write(escaped.getStr(), escaped.getLength());
-            write_xml_end_tag(name, file);
-        }
-
-        void write_xml_tag(const string_t& name, const recently_used_file& 
file) const
-        {
-            file.write("<", 1);
-            file.write(name.c_str(), name.length());
-            file.write("/>\n", 3);
-        }
-
-        void write_xml_start_tag(const string_t& name, const 
recently_used_file& file, bool linefeed) const
-        {
-            file.write("<", 1);
-            file.write(name.c_str(), name.length());
-            if (linefeed)
-                file.write(">\n", 2);
-            else
-                file.write(">", 1);
-        }
-
-        void write_xml_end_tag(const string_t& name, const recently_used_file& 
file) const
-        {
-            file.write("</", 2);
-            file.write(name.c_str(), name.length());
-            file.write(">\n", 2);
-        }
-
-        string_t uri_;
-        string_t mime_type_;
-        time_t timestamp_;
-        bool is_private_;
-        std::vector<string_t> groups_;
-    };
-
-    typedef std::vector<std::unique_ptr<recently_used_item>> 
recently_used_item_list_t;
-    typedef void (recently_used_item::* SET_COMMAND)(const string_t&);
-
-    // thrown if we encounter xml tags that we do not know
-    class unknown_xml_format_exception {};
-
-    class recently_used_file_filter:
-        public i_xml_parser_event_handler
-    {
-    public:
-        explicit recently_used_file_filter(recently_used_item_list_t& 
item_list) :
-            item_list_(item_list)
-        {
-            named_command_map_[TAG_RECENT_FILES] = 
&recently_used_item::set_nothing;
-            named_command_map_[TAG_RECENT_ITEM]  = 
&recently_used_item::set_nothing;
-            named_command_map_[TAG_URI]          = 
&recently_used_item::set_uri;
-            named_command_map_[TAG_MIME_TYPE]    = 
&recently_used_item::set_mime_type;
-            named_command_map_[TAG_TIMESTAMP]    = 
&recently_used_item::set_timestamp;
-            named_command_map_[TAG_PRIVATE]      = 
&recently_used_item::set_is_private;
-            named_command_map_[TAG_GROUPS]       = 
&recently_used_item::set_nothing;
-            named_command_map_[TAG_GROUP]        = 
&recently_used_item::set_groups;
-        }
-
-        recently_used_file_filter(const recently_used_file_filter&) = delete;
-        recently_used_file_filter& operator=(const recently_used_file_filter&) 
= delete;
-
-        virtual void start_element(
-            const string_t& /*raw_name*/,
-            const string_t& local_name,
-            const xml_tag_attribute_container_t& /*attributes*/) override
-        {
-            if ((local_name == TAG_RECENT_ITEM) && (nullptr == item_))
-                item_.reset(new recently_used_item);
-        }
-
-        virtual void end_element(const string_t& /*raw_name*/, const string_t& 
local_name) override
-        {
-            // check for end tags w/o start tag
-            if( local_name != TAG_RECENT_FILES && nullptr == item_ )
-                return; // will result in an XML parser error anyway
-
-            if (named_command_map_.find(local_name) != 
named_command_map_.end())
-                
(item_.get()->*named_command_map_[local_name])(current_element_);
-            else
-            {
-                item_.reset();
-                throw unknown_xml_format_exception();
-            }
-
-            if (local_name == TAG_RECENT_ITEM)
-            {
-                item_list_.push_back(std::move(item_));
-            }
-            current_element_.clear();
-        }
-
-        virtual void characters(const string_t& character) override
-        {
-            if (character != "\n")
-                current_element_ += character;
-        }
-
-        virtual void ignore_whitespace(const string_t& /*whitespaces*/) 
override
-        {}
-
-        virtual void comment(const string_t& /*comment*/) override
-        {}
-    private:
-        std::unique_ptr<recently_used_item> item_;
-        std::map<string_t, SET_COMMAND> named_command_map_;
-        string_t current_element_;
-        recently_used_item_list_t& item_list_;
-    };
-
-
-    void read_recently_used_items(
-        recently_used_file const & file,
-        recently_used_item_list_t& item_list)
-    {
-        xml_parser xparser;
-        recently_used_file_filter ruff(item_list);
-
-        xparser.set_document_handler(&ruff);
-
-        char buff[16384];
-        while (!file.eof())
-        {
-            if (size_t length = file.read(buff, sizeof(buff)))
-                xparser.parse(buff, length, file.eof());
-        }
-    }
-
-
-    // The file ~/.recently_used shall not contain more than 500
-    // entries (see www.freedesktop.org)
-    const int MAX_RECENTLY_USED_ITEMS = 500;
-
-    class recent_item_writer
-    {
-    public:
-        explicit recent_item_writer( recently_used_file& file ) :
-            file_(file),
-            items_written_(0)
-        {}
-
-        void operator() (const std::unique_ptr<recently_used_item> & item)
-        {
-            if (items_written_++ < MAX_RECENTLY_USED_ITEMS)
-                item->write_xml(file_);
-        }
-    private:
-        recently_used_file& file_;
-        int items_written_;
-    };
-
-
-    const char* const XML_HEADER = "<?xml version=\"1.0\"?>\n<RecentFiles>\n";
-    const char* const XML_FOOTER = "</RecentFiles>";
-
-
-    // assumes that the list is ordered decreasing
-    void write_recently_used_items(
-        recently_used_file& file,
-        recently_used_item_list_t& item_list)
-    {
-        if (item_list.empty())
-            return;
-
-        file.truncate();
-        file.reset();
-
-        file.write(XML_HEADER, strlen(XML_HEADER));
-
-        std::for_each(
-            item_list.begin(),
-            item_list.end(),
-            recent_item_writer(file));
-
-        file.write(XML_FOOTER, strlen(XML_FOOTER));
-    }
-
-
-    class find_item_predicate
-    {
-    public:
-        explicit find_item_predicate(const string_t& uri) :
-            uri_(uri)
-        {}
-
-        bool operator() (const std::unique_ptr<recently_used_item> & item) 
const
-            { return (item->uri_ == uri_); }
-    private:
-        string_t const uri_;
-    };
-
-
-    struct greater_recently_used_item
-    {
-        bool operator ()(const std::unique_ptr<recently_used_item> & lhs, 
const std::unique_ptr<recently_used_item> & rhs) const
-        { return (lhs->timestamp_ > rhs->timestamp_); }
-    };
-
-
-    const char* const GROUP_OOO         = "openoffice.org";
-    const char* const GROUP_STAR_OFFICE = "staroffice";
-    const char* const GROUP_STAR_SUITE  = "starsuite";
-
-
-    void recently_used_item_list_add(
-        recently_used_item_list_t& item_list, const OUString& file_url, const 
OUString& mime_type)
-    {
-        OString f = OUStringToOString(file_url, RTL_TEXTENCODING_UTF8);
-
-        recently_used_item_list_t::iterator iter =
-            std::find_if(
-                item_list.begin(),
-                item_list.end(),
-                find_item_predicate(f.getStr()));
-
-        if (iter != item_list.end())
-        {
-            (*iter)->timestamp_ = time(nullptr);
-
-            if (!(*iter)->has_group(GROUP_OOO))
-                (*iter)->groups_.push_back(GROUP_OOO);
-            if (!(*iter)->has_group(GROUP_STAR_OFFICE))
-                (*iter)->groups_.push_back(GROUP_STAR_OFFICE);
-            if (!(*iter)->has_group(GROUP_STAR_SUITE))
-                (*iter)->groups_.push_back(GROUP_STAR_SUITE);
-        }
-        else
-        {
-            std::vector<string_t> groups;
-            groups.push_back(GROUP_OOO);
-            groups.push_back(GROUP_STAR_OFFICE);
-            groups.push_back(GROUP_STAR_SUITE);
-
-            string_t uri(f.getStr());
-            string_t mimetype(OUStringToOString(mime_type, 
osl_getThreadTextEncoding()).getStr());
-
-            if (mimetype.length() == 0)
-                mimetype = "application/octet-stream";
-
-            item_list.emplace_back(new recently_used_item(uri, mimetype, 
groups));
-        }
-
-        // sort decreasing after the timestamp
-        // so that the newest items appear first
-        std::sort(
-            item_list.begin(),
-            item_list.end(),
-            greater_recently_used_item());
-    }
-
-
-    struct cleanup_guard
-    {
-        explicit cleanup_guard(recently_used_item_list_t& item_list) :
-            item_list_(item_list)
-        {}
-        ~cleanup_guard()
-        { item_list_.clear(); }
-
-        recently_used_item_list_t& item_list_;
-    };
-
-} // namespace private
-
-/*
-   example (see http::www.freedesktop.org):
-    <?xml version="1.0"?>
-                <RecentFiles>
-                     <RecentItem>
-                        <URI>file:///home/federico/gedit.txt</URI>
-                        <Mime-Type>text/plain</Mime-Type>
-                        <Timestamp>1046485966</Timestamp>
-                        <Groups>
-                            <Group>gedit</Group>
-                        </Groups>
-                    </RecentItem>
-                    <RecentItem>
-                        <URI>file:///home/federico/gedit-2.2.0.tar.bz2</URI>
-                        <Mime-Type>application/x-bzip</Mime-Type>
-                        <Timestamp>1046209851</Timestamp>
-                        <Private/>
-                        <Groups>
-                        </Groups>
-                    </RecentItem>
-                </RecentFiles>
-*/
-
-extern "C" SAL_DLLPUBLIC_EXPORT
-void add_to_recently_used_file_list(const OUString& file_url,
-        const OUString& mime_type)
-{
-    try
-    {
-        recently_used_file ruf;
-        recently_used_item_list_t item_list;
-        cleanup_guard guard(item_list);
-
-        read_recently_used_items(ruf, item_list);
-        recently_used_item_list_add(item_list, file_url, mime_type);
-        write_recently_used_items(ruf, item_list);
-    }
-    catch(const char* ex)
-    {
-        OSL_FAIL(ex);
-    }
-    catch(const xml_parser_exception&)
-    {
-        OSL_FAIL("XML parser error");
-    }
-    catch(const unknown_xml_format_exception&)
-    {
-        OSL_FAIL("XML format unknown");
-    }
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/clang-format/blacklist b/solenv/clang-format/blacklist
index 99522e3d8921..09abf2370659 100644
--- a/solenv/clang-format/blacklist
+++ b/solenv/clang-format/blacklist
@@ -12977,9 +12977,6 @@ shell/source/unix/exec/shellexec.cxx
 shell/source/unix/exec/shellexec.hxx
 shell/source/unix/exec/shellexecentry.cxx
 shell/source/unix/misc/uri-encode.c
-shell/source/unix/sysshell/recently_used_file.cxx
-shell/source/unix/sysshell/recently_used_file.hxx
-shell/source/unix/sysshell/recently_used_file_handler.cxx
 shell/source/win32/SysShExec.cxx
 shell/source/win32/SysShExec.hxx
 shell/source/win32/SysShentry.cxx
diff --git a/sysui/desktop/apparmor/program.soffice.bin 
b/sysui/desktop/apparmor/program.soffice.bin
index 90d663a9d54a..c611d7635003 100644
--- a/sysui/desktop/apparmor/program.soffice.bin
+++ b/sysui/desktop/apparmor/program.soffice.bin
@@ -118,7 +118,6 @@ profile libreoffice-soffice INSTDIR-program/soffice.bin {
   owner @{HOME}/.config/soffice.binrc.lock rwk,
   owner @{HOME}/.cache/fontconfig/**    rw,
   owner @{HOME}/.config/gtk-???/bookmarks r,  #Make bookmarks work
-  owner @{HOME}/.recently-used          rwk,
   owner /tmp/psp[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]* rw, 
#/tmp/psp1534203998 (printing to file)
 
   owner /{,var/}run/user/*/dconf/user   rw,
diff --git a/vcl/unx/generic/app/salinst.cxx b/vcl/unx/generic/app/salinst.cxx
index 872f15405e31..e16f13a87f68 100644
--- a/vcl/unx/generic/app/salinst.cxx
+++ b/vcl/unx/generic/app/salinst.cxx
@@ -206,21 +206,7 @@ void X11SalInstance::AfterAppInit()
     pSalDisplay->SetupInput();
 }
 
-extern "C" { static void thisModule() {} }
-
-void X11SalInstance::AddToRecentDocumentList(const OUString& rFileUrl, const 
OUString& rMimeType, const OUString& rDocumentService)
-{
-    typedef void (*PFUNC_ADD_TO_RECENTLY_USED_LIST)(const OUString&, const 
OUString&, const OUString&);
-
-    PFUNC_ADD_TO_RECENTLY_USED_LIST add_to_recently_used_file_list = nullptr;
-
-    osl::Module module;
-    module.loadRelative( &thisModule, "librecentfile.so" );
-    if (module.is())
-        add_to_recently_used_file_list = 
reinterpret_cast<PFUNC_ADD_TO_RECENTLY_USED_LIST>(module.getFunctionSymbol("add_to_recently_used_file_list"));
-    if (add_to_recently_used_file_list)
-        add_to_recently_used_file_list(rFileUrl, rMimeType, rDocumentService);
-}
+void X11SalInstance::AddToRecentDocumentList(const OUString&, const OUString&, 
const OUString&) {}
 
 void X11SalInstance::PostPrintersChanged()
 {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to