Skip to content

Commit

Permalink
Cocoa Port: Fix build errors that can occur when building on Xcode ve…
Browse files Browse the repository at this point in the history
…rsions later than 10.3.

- The script that renames the DeSmuME.app package with the git version now runs as a Build Post-Action script rather than as the last build rule. This is to fix an incompatibility with code signing, which is now forced in Xcode 11 and later.
- Update some variables to comply with newer and stricter compiler rules.
  • Loading branch information
rogerman committed Aug 26, 2021
1 parent e8f619c commit 92cb90f
Show file tree
Hide file tree
Showing 10 changed files with 78 additions and 68 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -74,3 +74,4 @@ xcuserdata/
/.cproject
/config.log
/.project
.DS_Store
Expand Up @@ -4454,7 +4454,6 @@
AB2DF23215E0834E00B4D0BC /* ShellScript */,
AB796CEE15CDCBA200C59155 /* Sources */,
AB796D6515CDCBA200C59155 /* Frameworks */,
AB8CF4681FBCEA010039C223 /* ShellScript */,
);
buildRules = (
);
Expand All @@ -4475,7 +4474,6 @@
AB79004B215B84E50082AE82 /* ShellScript */,
AB79004C215B84E50082AE82 /* Sources */,
AB790128215B84E50082AE82 /* Frameworks */,
AB790139215B84E50082AE82 /* ShellScript */,
);
buildRules = (
);
Expand Down Expand Up @@ -5260,7 +5258,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "#!/bin/sh\n\n# This script creates an application package that merges the ppc binary of an\n# Xcode 3 PowerPC release build to the i386 and x86_64 binaries of an Xcode 4\n# (or later) release build. It also replaces the .nib files with ones that are\n# created specifically in Xcode 6, which is the last version of Xcode that can\n# compile Leopard-compatible .nib files.\n#\n# Before you use this script, make sure that you already have an existing\n# PowerPC Release build from Xcode 3 in the ${SRCROOT}/build/Release directory,\n# as well as an Xcode 6 .app in the same directory.\n\n# Create the Merged Release directory, plus a working copy of the .app.\nmkdir -p \"${SRCROOT}/build/Merged Release\"\ncd \"${SRCROOT}/build/Merged Release\"\ncp -a \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app\" \"./\"\n\nif test -e \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\"\nthen\n\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS\"\n\n# Create the temp binaries for Intel.\nlipo \"./${EXECUTABLE_NAME}\" -thin i386 -output \"./${EXECUTABLE_NAME}_i386\"\nlipo \"./${EXECUTABLE_NAME}\" -thin x86_64 -output \"./${EXECUTABLE_NAME}_x86_64\"\n\n# Merge the separate temp binaries into a single binary package.\nrm -f \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\nlipo \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\" \"./${EXECUTABLE_NAME}_i386\" \"./${EXECUTABLE_NAME}_x86_64\" -create -output \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\n\n# Remove the temp binaries now that we're done with them.\nrm -f \"./${EXECUTABLE_NAME}_i386\"\nrm -f \"./${EXECUTABLE_NAME}_x86_64\"\n\nfi\n\n# Copy the .nib files from an \"extract NIB\" .app to the Merged Release .app\ncd \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/Resources/English.lproj\"\ncp -af \"${SRCROOT}/build/Release/DeSmuME (extract NIB).app/Contents/Resources/English.lproj/MainMenu.nib\" \"./\"\ncp -af \"${SRCROOT}/build/Release/DeSmuME (extract NIB).app/Contents/Resources/English.lproj/DisplayWindow.nib\" \"./\"";
shellScript = "#!/bin/sh\n\n# This script creates an application package that merges the ppc binary of an\n# Xcode 3 PowerPC release build to the i386 and x86_64 binaries of an Xcode 4\n# (or later) release build. It also replaces the .nib files with ones that are\n# created specifically in Xcode 6, which is the last version of Xcode that can\n# compile Leopard-compatible .nib files.\n#\n# Before you use this script, make sure that you already have an existing\n# PowerPC Release build from Xcode 3 in the ${SRCROOT}/build/Release directory,\n# as well as an Xcode 6 .app in the same directory.\n\n# Create the Merged Release directory, plus a working copy of the .app.\nmkdir -p \"${SRCROOT}/build/Merged Release\"\ncd \"${SRCROOT}/build/Merged Release\"\ncp -a \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app\" \"./\"\n\nif test -e \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\"\nthen\n\ncd \"${TARGET_BUILD_DIR}/${PRODUCT_NAME}.app/Contents/MacOS\"\n\n# Create the temp binaries for Intel.\nlipo \"./${EXECUTABLE_NAME}\" -thin i386 -output \"./${EXECUTABLE_NAME}_i386\"\nlipo \"./${EXECUTABLE_NAME}\" -thin x86_64 -output \"./${EXECUTABLE_NAME}_x86_64\"\n\n# Merge the separate temp binaries into a single binary package.\nrm -f \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\nlipo \"${SRCROOT}/build/Release/DeSmuME (PPC).app/Contents/MacOS/DeSmuME (PPC)\" \"./${EXECUTABLE_NAME}_i386\" \"./${EXECUTABLE_NAME}_x86_64\" -create -output \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/MacOS/${EXECUTABLE_NAME}\"\n\n# Remove the temp binaries now that we're done with them.\nrm -f \"./${EXECUTABLE_NAME}_i386\"\nrm -f \"./${EXECUTABLE_NAME}_x86_64\"\n\nfi\n\n# Copy the .nib files from an \"extract NIB\" .app to the Merged Release .app\ncd \"${SRCROOT}/build/Merged Release/${PRODUCT_NAME}.app/Contents/Resources/English.lproj\"\ncp -af \"${SRCROOT}/build/Release/DeSmuME (extract NIB).app/Contents/Resources/English.lproj/MainMenu.nib\" \"./\"\ncp -af \"${SRCROOT}/build/Release/DeSmuME (extract NIB).app/Contents/Resources/English.lproj/DisplayWindow.nib\" \"./\"\n";
};
AB2DF23215E0834E00B4D0BC /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5274,7 +5272,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"";
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"\n";
};
AB2DF23515E0839D00B4D0BC /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand Down Expand Up @@ -5302,20 +5300,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"";
};
AB790139215B84E50082AE82 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if test -d \"${TARGET_BUILD_DIR}/DeSmuME.app\" ; then\n\nDESCRIBE=`git describe --always --long --dirty=\"+\"`\nif [ \"$DESCRIBE\" == \"\" ] ; then\nDESCRIBE=\"0\"\nfi\n\nNEWBUILDNAME=\"${PRODUCT_NAME} git#$DESCRIBE.app\"\ncd \"${TARGET_BUILD_DIR}\"\nrm -rf \"$NEWBUILDNAME\"\nmv -f \"${PRODUCT_NAME}.app\" \"$NEWBUILDNAME\"\n\nfi";
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"\n";
};
AB790140215B84F20082AE82 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5330,7 +5315,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"";
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"\n";
};
AB7901A8215B84F20082AE82 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5344,7 +5329,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"";
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"\n";
};
AB796CA515CDCBA200C59155 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5359,7 +5344,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"";
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"\n";
};
AB79FFE3215B84E50082AE82 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5374,20 +5359,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"";
};
AB8CF4681FBCEA010039C223 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "if test -d \"${TARGET_BUILD_DIR}/DeSmuME.app\" ; then\n\nDESCRIBE=`git describe --always --long --dirty=\"+\"`\nif [ \"$DESCRIBE\" == \"\" ] ; then\nDESCRIBE=\"0\"\nfi\n\nNEWBUILDNAME=\"${PRODUCT_NAME} git#$DESCRIBE.app\"\ncd \"${TARGET_BUILD_DIR}\"\nrm -rf \"$NEWBUILDNAME\"\nmv -f \"${PRODUCT_NAME}.app\" \"$NEWBUILDNAME\"\n\nfi";
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"\n";
};
AB8F3C181A53AC2600A80BF6 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5402,7 +5374,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"";
shellScript = "cd \"${SRCROOT}/translations\"\nibtool --generate-strings-file \"./English.lproj/MainMenu.strings\" \"./English.lproj/MainMenu.xib\"\n";
};
AB8F3C721A53AC2600A80BF6 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
Expand All @@ -5416,7 +5388,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"";
shellScript = "cd \"${SRCROOT}\"\nsh \"git-scmrev.sh\"\n";
};
/* End PBXShellScriptBuildPhase section */

Expand Down Expand Up @@ -7101,7 +7073,9 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_X86_VECTOR_INSTRUCTIONS = sse4.1;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/openemu\"",
Expand All @@ -7118,7 +7092,9 @@
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_X86_VECTOR_INSTRUCTIONS = sse4.1;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/openemu\"",
Expand Down
@@ -1,10 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0440"
version = "1.3">
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<PostActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "cd &quot;${PROJECT_DIR}&quot;&#10;&#10;if test -d &quot;build/Release/${PRODUCT_NAME}.app&quot; ; then&#10;&#10;DESCRIBE=`git describe --always --long --dirty=&quot;+&quot;`&#10;if [ &quot;$DESCRIBE&quot; == &quot;&quot; ] ; then&#10;DESCRIBE=&quot;0&quot;&#10;fi&#10;&#10;NEWBUILDNAME=&quot;${PRODUCT_NAME} git#$DESCRIBE.app&quot;&#10;cd &quot;build/Release&quot;&#10;rm -rf &quot;$NEWBUILDNAME&quot;&#10;mv -f &quot;${PRODUCT_NAME}.app&quot; &quot;$NEWBUILDNAME&quot;&#10;&#10;fi&#10;">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AB796CA415CDCBA200C59155"
BuildableName = "DeSmuME.app"
BlueprintName = "DeSmuME (OS X App -- Latest Xcode)"
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PostActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
Expand All @@ -27,8 +45,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
Expand All @@ -38,8 +54,8 @@
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
Expand All @@ -63,8 +79,6 @@
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
@@ -1,10 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<PostActions>
<ExecutionAction
ActionType = "Xcode.IDEStandardExecutionActionsCore.ExecutionActionType.ShellScriptAction">
<ActionContent
title = "Run Script"
scriptText = "cd &quot;${PROJECT_DIR}&quot;&#10;&#10;if test -d &quot;build/Release/${PRODUCT_NAME}.app&quot; ; then&#10;&#10;DESCRIBE=`git describe --always --long --dirty=&quot;+&quot;`&#10;if [ &quot;$DESCRIBE&quot; == &quot;&quot; ] ; then&#10;DESCRIBE=&quot;0&quot;&#10;fi&#10;&#10;NEWBUILDNAME=&quot;${PRODUCT_NAME} git#$DESCRIBE.app&quot;&#10;cd &quot;build/Release&quot;&#10;rm -rf &quot;$NEWBUILDNAME&quot;&#10;mv -f &quot;${PRODUCT_NAME}.app&quot; &quot;$NEWBUILDNAME&quot;&#10;&#10;fi&#10;">
<EnvironmentBuildable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AB79FFE2215B84E50082AE82"
BuildableName = "DeSmuME.app"
BlueprintName = "DeSmuME (OS X App with 32-bit -- Xcode 9)"
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</EnvironmentBuildable>
</ActionContent>
</ExecutionAction>
</PostActions>
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
Expand All @@ -27,8 +45,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
Expand All @@ -38,8 +54,8 @@
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
Expand All @@ -61,8 +77,6 @@
ReferencedContainer = "container:DeSmuME (Latest).xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
Expand Down
2 changes: 1 addition & 1 deletion desmume/src/frontend/cocoa/Info (Debug).plist
Expand Up @@ -246,7 +246,7 @@
<key>CFBundleVersion</key>
<string>0.9.12</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.entertainment</string>
<string>public.app-category.games</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
Expand Down
2 changes: 1 addition & 1 deletion desmume/src/frontend/cocoa/Info.plist
Expand Up @@ -246,7 +246,7 @@
<key>CFBundleVersion</key>
<string>0.9.12</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.entertainment</string>
<string>public.app-category.games</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
Expand Down
6 changes: 3 additions & 3 deletions desmume/src/frontend/cocoa/OGLDisplayOutput.cpp
@@ -1,5 +1,5 @@
/*
Copyright (C) 2014-2017 DeSmuME team
Copyright (C) 2014-2021 DeSmuME team
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -7120,8 +7120,8 @@ void OGLDisplayLayer::ProcessOGL()
GLuint texMain = (selectedDisplaySource[NDSDisplayID_Main] == NDSDisplayID_Main) ? fetchObj.GetFetchTexture(NDSDisplayID_Main) : fetchObj.GetFetchTexture(NDSDisplayID_Touch);
GLuint texTouch = (selectedDisplaySource[NDSDisplayID_Touch] == NDSDisplayID_Touch) ? fetchObj.GetFetchTexture(NDSDisplayID_Touch) : fetchObj.GetFetchTexture(NDSDisplayID_Main);

GLsizei width[2] = { emuDisplayInfo.renderedWidth[selectedDisplaySource[NDSDisplayID_Main]], emuDisplayInfo.renderedWidth[selectedDisplaySource[NDSDisplayID_Touch]] };
GLsizei height[2] = { emuDisplayInfo.renderedHeight[selectedDisplaySource[NDSDisplayID_Main]], emuDisplayInfo.renderedHeight[selectedDisplaySource[NDSDisplayID_Touch]] };
GLsizei width[2] = { (GLsizei)emuDisplayInfo.renderedWidth[selectedDisplaySource[NDSDisplayID_Main]], (GLsizei)emuDisplayInfo.renderedWidth[selectedDisplaySource[NDSDisplayID_Touch]] };
GLsizei height[2] = { (GLsizei)emuDisplayInfo.renderedHeight[selectedDisplaySource[NDSDisplayID_Main]], (GLsizei)emuDisplayInfo.renderedHeight[selectedDisplaySource[NDSDisplayID_Touch]] };

VideoFilter *vfMain = this->_output->GetPixelScalerObject(NDSDisplayID_Main);
VideoFilter *vfTouch = this->_output->GetPixelScalerObject(NDSDisplayID_Touch);
Expand Down
4 changes: 2 additions & 2 deletions desmume/src/frontend/cocoa/userinterface/MacBaseCaptureTool.h
@@ -1,5 +1,5 @@
/*
Copyright (C) 2018 DeSmuME team
Copyright (C) 2018-2021 DeSmuME team
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -86,7 +86,7 @@ class MacCaptureToolParams
void *refObject;
MacClientSharedObject *sharedData;

NSInteger formatID;
NSUInteger formatID;
std::string savePath;
std::string romName;
bool useDeposterize;
Expand Down
@@ -1,5 +1,5 @@
/*
Copyright (C) 2017-2018 DeSmuME team
Copyright (C) 2017-2021 DeSmuME team
This file is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -292,7 +292,7 @@ - (void) writeUserDefaults

NSString *savePath = [NSString stringWithCString:param.savePath.c_str() encoding:NSUTF8StringEncoding];
NSURL *fileURL = [NSURL fileURLWithPath:[savePath stringByAppendingPathComponent:fileName]];
[CocoaDSFile saveScreenshot:fileURL bitmapData:newImageRep fileType:param.formatID];
[CocoaDSFile saveScreenshot:fileURL bitmapData:newImageRep fileType:(NSBitmapImageFileType)param.formatID];

// Clean up.
delete cdp;
Expand Down

0 comments on commit 92cb90f

Please sign in to comment.