From: Vadim Zeitlin Date: Tue, 25 Jul 2006 00:33:14 +0000 (+0000) Subject: handlers added using AddHandler() last must have the highest priority (patch 1522807) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/4948ebf3ffe886443ec61bbecd1d0d3b794dfee2 handlers added using AddHandler() last must have the highest priority (patch 1522807) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40302 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/docs/latex/wx/filesys.tex b/docs/latex/wx/filesys.tex index 5f28f6f092..2d38e300a5 100644 --- a/docs/latex/wx/filesys.tex +++ b/docs/latex/wx/filesys.tex @@ -38,8 +38,10 @@ Constructor. \func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}} -This static function adds new handler into the list of handlers. -The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS. +This static function adds new handler into the list of +\helpref{handlers}{wxfilesystemhandler} which provide access to virtual FS. +Note that if two handlers for the same protocol are added, the last one added +takes precedence. \wxheading{Note} diff --git a/src/common/filesys.cpp b/src/common/filesys.cpp index 5e99f9787a..44e265776b 100644 --- a/src/common/filesys.cpp +++ b/src/common/filesys.cpp @@ -482,7 +482,9 @@ bool wxFileSystem::FindFileInPath(wxString *pStr, void wxFileSystem::AddHandler(wxFileSystemHandler *handler) { - m_Handlers.Append(handler); + // prepend the handler to the beginning of the list because handlers added + // last should have the highest priority to allow overriding them + m_Handlers.Insert(0u, handler); } bool wxFileSystem::HasHandlerForPath(const wxString &location)