|
@@ -86,16 +86,13 @@ begin
|
|
Pointer(lParam) := PChar(InitialDir);
|
|
Pointer(lParam) := PChar(InitialDir);
|
|
end;
|
|
end;
|
|
ActiveWindow := GetActiveWindow;
|
|
ActiveWindow := GetActiveWindow;
|
|
- WindowList := DisableTaskWindows(0);
|
|
|
|
|
|
+ WindowList := DisableTaskWindows(ParentWnd);
|
|
CoInitialize(nil);
|
|
CoInitialize(nil);
|
|
try
|
|
try
|
|
IDList := SHBrowseForFolder(BrowseInfo);
|
|
IDList := SHBrowseForFolder(BrowseInfo);
|
|
finally
|
|
finally
|
|
CoUninitialize();
|
|
CoUninitialize();
|
|
EnableTaskWindows(WindowList);
|
|
EnableTaskWindows(WindowList);
|
|
- { SetActiveWindow(Application.Handle) is needed or else the focus doesn't
|
|
|
|
- properly return to ActiveWindow }
|
|
|
|
- SetActiveWindow(Application.Handle);
|
|
|
|
SetActiveWindow(ActiveWindow);
|
|
SetActiveWindow(ActiveWindow);
|
|
end;
|
|
end;
|
|
try
|
|
try
|
|
@@ -169,7 +166,7 @@ begin
|
|
ofn.lpstrDefExt := Pointer(DefaultExtension);
|
|
ofn.lpstrDefExt := Pointer(DefaultExtension);
|
|
|
|
|
|
ActiveWindow := GetActiveWindow;
|
|
ActiveWindow := GetActiveWindow;
|
|
- WindowList := DisableTaskWindows(0);
|
|
|
|
|
|
+ WindowList := DisableTaskWindows(ParentWnd);
|
|
try
|
|
try
|
|
asm
|
|
asm
|
|
// Avoid FPU control word change in NETRAP.dll, NETAPI32.dll, etc
|
|
// Avoid FPU control word change in NETRAP.dll, NETAPI32.dll, etc
|
|
@@ -198,9 +195,6 @@ begin
|
|
end;
|
|
end;
|
|
finally
|
|
finally
|
|
EnableTaskWindows(WindowList);
|
|
EnableTaskWindows(WindowList);
|
|
- { SetActiveWindow(Application.Handle) is needed or else the focus doesn't
|
|
|
|
- properly return to ActiveWindow }
|
|
|
|
- SetActiveWindow(Application.Handle);
|
|
|
|
SetActiveWindow(ActiveWindow);
|
|
SetActiveWindow(ActiveWindow);
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|