Hi Semyon,
I'm fine with it, but don't you want to define a simple macro for this:
+ jfieldID field_guid = env->GetFieldID(cl, "guid", "Ljava/lang/String;");
+ DASSERT(field_guid != NULL);
+ CHECK_NULL_RETURN(field_guid, NULL);
To call it like:
DEFINE_FIELD_ID(field_guid, cl, "guid", "Ljava/lang/String;");
You would reduce the code a lot and make it more readable.
Regards,
Anton.
On 19.05.2015 18:45, Semyon Sadetsky wrote:
Hi Anton,
here is an updated version:
http://cr.openjdk.java.net/~ssadetsky/8003399/webrev.01/
--Semyon
On 5/8/2015 5:01 PM, Semyon Sadetsky wrote:
On 5/8/2015 3:45 PM, Sergey Bylokhov wrote:
On 07.05.15 15:29, Semyon Sadetsky wrote:
Hi Sergey,
Yes, after the fix filedialog produces usual filesystem paths for libraries which are readable
for java.io.
Just to clarify: after the fix, both Open and Save dialog works?
Open file in library was not a problem, because an exicting file has real FS
path already.
But there are no possibility to reference files in libraries directly using new File(<library
link>).
--Semyon
On 5/7/2015 11:26 AM, Sergey Bylokhov wrote:
Hi, Semyon.
Can you please raise the supportness of this in the java.io on the core-libs
alias.
Does the open filedialog will work after the fix?
On 07.05.15 11:14, Semyon Sadetsky wrote:
Hello,
Please review fix for JDK9.
webrev: http://cr.openjdk.java.net/~ssadetsky/8003399/webrev.00/
bug: https://bugs.openjdk.java.net/browse/JDK-8003399
***THE ROOT CAUSE
JDK uses legacy WINAPI special folders calls while MS introduced a new interfaces
IKnownFolder and IShellLibrary to manage special folder locations and the new Libraries
functionality in Windows 7 is not backward compatible with old special folders CSIDL.
***SOLUTION
Since it is too expensive to migrate AWT shell to the new interfaces and still they are not
supported in java.io the solution is to map virtual folder PIDL to the Known Folder GUID and
replace libraries links with the default library save location. Thus the File save dialog
will be able to work with any Libraries registered in the system (Windows Libraries concept
assumes that Libraries can be added arbitrary).
The resulting code should be compatible with older Windows versions because the new COM
interfaces are called only if they are available and a Libraries link has been actually
requested.
***TESTING
A test scenario is added to check that all available Libraries links are converted into
filesystem paths.
--Semyon