diff --git a/src/frameworks/CoreServices/include/CarbonCore/Components.h b/src/frameworks/CoreServices/include/CarbonCore/Components.h
index 004c0bcce..e1780827b 100644
--- a/src/frameworks/CoreServices/include/CarbonCore/Components.h
+++ b/src/frameworks/CoreServices/include/CarbonCore/Components.h
@@ -138,6 +138,8 @@ long CountComponents(ComponentDescription* desc);
OSErr OpenAComponent(Component comp, ComponentInstance* out);
ComponentInstance OpenComponent(Component comp);
+ComponentInstance OpenDefaultComponent(OSType componentType, OSType componentSubType);
+
OSErr CloseComponent(ComponentInstance inst);
Component RegisterComponent(ComponentDescription *cd, ComponentRoutineUPP componentEntryPoint, SInt16 global,
diff --git a/src/frameworks/CoreServices/src/CarbonCore/Components.cpp b/src/frameworks/CoreServices/src/CarbonCore/Components.cpp
index 39c6315be..1c5ac447e 100644
--- a/src/frameworks/CoreServices/src/CarbonCore/Components.cpp
+++ b/src/frameworks/CoreServices/src/CarbonCore/Components.cpp
@@ -22,6 +22,11 @@ along with Darling. If not, see .
#include
#include "ComponentManager.h"
+static int verbose = 0;
+__attribute__((constructor)) static void initme(void) {
+ verbose = getenv("STUB_VERBOSE") != NULL;
+}
+
Component FindNextComponent(Component prev, ComponentDescription* desc)
{
std::vector components = ComponentManager::instance()->findMatching(desc);
@@ -85,6 +90,12 @@ ComponentInstance OpenComponent(Component comp)
return nullptr;
}
+ComponentInstance OpenDefaultComponent(OSType componentType, OSType componentSubType)
+{
+ if (verbose) puts("STUB: OpenDefaultComponent called");
+ return nullptr;
+}
+
OSErr CloseComponent(ComponentInstance inst)
{
return ComponentManager::instance()->dispose(inst);