Recent

Author Topic: FIlterIndex error when using CocoaUseUTIFilter := true;  (Read 360 times)

apeoperaio

  • Full Member
  • ***
  • Posts: 225
FIlterIndex error when using CocoaUseUTIFilter := true;
« on: October 13, 2021, 11:20:22 am »
I encountered an issue when using an OpenDialog and

CocoaUseUTIFilter := true;

https://wiki.freepascal.org/Cocoa_Internals/Dialogs#File_Type_Filters

If I use the same opendialog with different filters I get a List Index out of bounds.
I attached a sample project to reproduce the error. Steps to reproduce:
- compile and run the attached project;
- click on button1
- select a file and click open in the opendialog
- click on button2
- error raised

When executing the opendialog on button1 the opendialog has 2 filters and filterindex is set to 2.
When executing the opendialog on button2 the opendialog has only 1 filter.

The error is not raised if I set in Button2Click

OpenDialog1.FilterIndex:= 1

before

OpenDialog1.Execute

On Windows and Linux I do not need to reset the filterindex.

I do not get the error if
 CocoaUseUTIFilter := False;


My version is:
Lazarus 2.1.0 r65062M FPC 3.2.0 x86_64-darwin-cocoa

 

TinyPortal © 2005-2018