Merge pull request #591 from manongjohn/fix_macos_crash_on_startup
Fix macOS crash on startup
This commit is contained in:
commit
261b70998c
2 changed files with 50 additions and 37 deletions
|
@ -446,20 +446,20 @@ endif()
|
||||||
|
|
||||||
if(BUILD_ENV_MSVC)
|
if(BUILD_ENV_MSVC)
|
||||||
if(WITH_CANON)
|
if(WITH_CANON)
|
||||||
set(EXTRA_LIBS ${EXTRA_LIBS} ${CANON_LIB})
|
set(EXTRA_LIBS ${EXTRA_LIBS} ${CANON_LIB})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_CRASHRPT)
|
if(WITH_CRASHRPT)
|
||||||
set(EXTRA_LIBS ${EXTRA_LIBS} ${CRASHRPT_LIB})
|
set(EXTRA_LIBS ${EXTRA_LIBS} ${CRASHRPT_LIB})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(Tahoma2D
|
target_link_libraries(Tahoma2D
|
||||||
Qt5::WinMain Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
|
Qt5::WinMain Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
|
||||||
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::SerialPort
|
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::SerialPort
|
||||||
${GL_LIB} ${GLUT_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS} ${EXTRA_LIBS} strmiids
|
${GL_LIB} ${GLUT_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS} ${EXTRA_LIBS} strmiids
|
||||||
tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm
|
tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm
|
||||||
)
|
)
|
||||||
elseif(BUILD_ENV_APPLE)
|
elseif(BUILD_ENV_APPLE AND WITH_CANON)
|
||||||
find_library(COCOA_LIB Cocoa)
|
find_library(COCOA_LIB Cocoa)
|
||||||
|
|
||||||
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
|
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
|
||||||
|
@ -467,9 +467,22 @@ elseif(BUILD_ENV_APPLE)
|
||||||
# 変なところにライブラリ生成するカスども
|
# 変なところにライブラリ生成するカスども
|
||||||
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
|
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
|
||||||
|
|
||||||
if(WITH_CANON)
|
add_dependencies(Tahoma2D tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm)
|
||||||
set(EXTRA_LIBS ${EXTRA_LIBS} ${CANON_LIB})
|
|
||||||
endif()
|
target_link_libraries(Tahoma2D
|
||||||
|
Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Svg Qt5::Xml
|
||||||
|
Qt5::Script Qt5::Widgets Qt5::PrintSupport Qt5::Multimedia Qt5::MultimediaWidgets Qt5::SerialPort
|
||||||
|
${GL_LIB} ${GLUT_LIB} ${CANON_LIB} ${TURBOJPEG_LIB} ${OpenCV_LIBS}
|
||||||
|
${COCOA_LIB} ${EXTRA_LIBS} mousedragfilter
|
||||||
|
)
|
||||||
|
|
||||||
|
elseif(BUILD_ENV_APPLE)
|
||||||
|
find_library(COCOA_LIB Cocoa)
|
||||||
|
|
||||||
|
_find_toonz_library(EXTRA_LIBS "tnzcore;tnzbase;toonzlib;colorfx;tnzext;image;sound;toonzqt;tnztools")
|
||||||
|
|
||||||
|
# 変なところにライブラリ生成するカスども
|
||||||
|
set(EXTRA_LIBS ${EXTRA_LIBS} "$<TARGET_FILE:tnzstdfx>" "$<TARGET_FILE:tfarm>")
|
||||||
|
|
||||||
add_dependencies(Tahoma2D tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm)
|
add_dependencies(Tahoma2D tnzcore tnzbase toonzlib colorfx tnzext image sound toonzqt tnztools tnzstdfx tfarm)
|
||||||
|
|
||||||
|
|
|
@ -328,28 +328,8 @@ int main(int argc, char *argv[]) {
|
||||||
argc = 1;
|
argc = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Toonz environment
|
// Enables high-DPI scaling. This attribute must be set before QApplication is
|
||||||
initToonzEnv(argumentPathValues);
|
// constructed. Available from Qt 5.6.
|
||||||
|
|
||||||
#ifdef WITH_CRASHRPT
|
|
||||||
CR_INSTALL_INFO pInfo;
|
|
||||||
memset(&pInfo, 0, sizeof(CR_INSTALL_INFO));
|
|
||||||
pInfo.cb = sizeof(CR_INSTALL_INFO);
|
|
||||||
pInfo.pszAppName = convertToLPCWSTR(TEnv::getApplicationName());
|
|
||||||
pInfo.pszAppVersion = convertToLPCWSTR(TEnv::getApplicationVersion());
|
|
||||||
TFilePath crashrptCache =
|
|
||||||
ToonzFolder::getCacheRootFolder() + TFilePath("crashrpt");
|
|
||||||
pInfo.pszErrorReportSaveDir =
|
|
||||||
convertToLPCWSTR(crashrptCache.getQString().toStdString());
|
|
||||||
// Install all available exception handlers.
|
|
||||||
// Don't send reports automaticall, store locally
|
|
||||||
pInfo.dwFlags |= CR_INST_ALL_POSSIBLE_HANDLERS | CR_INST_DONT_SEND_REPORT;
|
|
||||||
|
|
||||||
crInstall(&pInfo);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Enables high-DPI scaling. This attribute must be set before QApplication is
|
|
||||||
// constructed. Available from Qt 5.6.
|
|
||||||
#if QT_VERSION >= 0x050600
|
#if QT_VERSION >= 0x050600
|
||||||
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
|
||||||
#endif
|
#endif
|
||||||
|
@ -511,6 +491,26 @@ int main(int argc, char *argv[]) {
|
||||||
TBigMemoryManager::instance()->setRunOutOfContiguousMemoryHandler(
|
TBigMemoryManager::instance()->setRunOutOfContiguousMemoryHandler(
|
||||||
&toonzRunOutOfContMemHandler);
|
&toonzRunOutOfContMemHandler);
|
||||||
|
|
||||||
|
// Toonz environment
|
||||||
|
initToonzEnv(argumentPathValues);
|
||||||
|
|
||||||
|
#ifdef WITH_CRASHRPT
|
||||||
|
CR_INSTALL_INFO pInfo;
|
||||||
|
memset(&pInfo, 0, sizeof(CR_INSTALL_INFO));
|
||||||
|
pInfo.cb = sizeof(CR_INSTALL_INFO);
|
||||||
|
pInfo.pszAppName = convertToLPCWSTR(TEnv::getApplicationName());
|
||||||
|
pInfo.pszAppVersion = convertToLPCWSTR(TEnv::getApplicationVersion());
|
||||||
|
TFilePath crashrptCache =
|
||||||
|
ToonzFolder::getCacheRootFolder() + TFilePath("crashrpt");
|
||||||
|
pInfo.pszErrorReportSaveDir =
|
||||||
|
convertToLPCWSTR(crashrptCache.getQString().toStdString());
|
||||||
|
// Install all available exception handlers.
|
||||||
|
// Don't send reports automaticall, store locally
|
||||||
|
pInfo.dwFlags |= CR_INST_ALL_POSSIBLE_HANDLERS | CR_INST_DONT_SEND_REPORT;
|
||||||
|
|
||||||
|
crInstall(&pInfo);
|
||||||
|
#endif
|
||||||
|
|
||||||
// Initialize thread components
|
// Initialize thread components
|
||||||
TThread::init();
|
TThread::init();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue