The patch below prevents a crash in the xforms frontend when launching 
the File Browser dialog from the External dialog.

The problem was that this string, used to specify the file filter:
        "*.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm|xbm)"
was being modified in ControlExternal to this:
        "*.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm"

Converting this glob to a regex:
        ".*\.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm"
lead to boost::regex bailing out (invalid regex --- no closing ')').

Clearly, the code I've removed was put there for a reason, but I think 
that it is now redundant. Any objections if I simply remove it?

However, the main point of this mail is to ask what I need to do to 
get the Qt frontend to understand the filter
        "*.(gif|png|jpg|bmp|pbm|ppm|tga|tif|xpm|xbm)"

Any idea what the Qt-version would need to be?

Angus




diff -u -p -r1.30 FileDialog.C
--- src/frontends/xforms/FileDialog.C   6 Oct 2003 15:42:53 -0000       
1.30
+++ src/frontends/xforms/FileDialog.C   29 Dec 2003 18:20:11 -0000
@@ -65,14 +65,8 @@ FileDialog::Result const FileDialog::ope
 FileDialog::Result const FileDialog::open(string const & path, string 
const & mask, string const & suggested)
 {
        string filter = mask;
-
-       if (mask.empty())
-               filter = _("*");
-       else {
-               rsplit(mask, filter, '|');
-               if (filter.empty())
-                       filter = mask;
-       }
+       if (filter.empty())
+               filter = "*";

        lyxerr[Debug::GUI] << "filedialog open  with path \"" << path 
<< "\", mask \""
                << filter << "\", suggested \"" << suggested << '"' << 
endl;
        

Reply via email to