From 50611242253fa8a9237058bd84280f6025c8c8f8 Mon Sep 17 00:00:00 2001
From: Vojtech Bubnik <bubnikv@gmail.com>
Date: Thu, 15 Apr 2021 13:48:20 +0200
Subject: [PATCH] RemovableManager on OSX: Testing for dictionary values for
 nullness. Hopefully it fixes Can not start slicer on mac Bigsur #5719

---
 src/slic3r/GUI/RemovableDriveManagerMM.mm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/slic3r/GUI/RemovableDriveManagerMM.mm b/src/slic3r/GUI/RemovableDriveManagerMM.mm
index 0b8646af1..1c4dc5145 100644
--- a/src/slic3r/GUI/RemovableDriveManagerMM.mm
+++ b/src/slic3r/GUI/RemovableDriveManagerMM.mm
@@ -81,7 +81,9 @@ static void unmount_callback(DADiskRef disk, DADissenterRef dissenter, void *con
                 NSLog(@"-%@",(CFStringRef)deviceModelKey);
             */
             if (mediaEjectableKey != nullptr) {
-                BOOL op = ejectable && (CFEqual(deviceProtocolName, CFSTR("USB")) || CFEqual(deviceModelKey, CFSTR("SD Card Reader"))  || CFEqual(deviceProtocolName, CFSTR("Secure Digital")));
+                BOOL op = ejectable && 
+                    ( (deviceProtocolName != nullptr && (CFEqual(deviceProtocolName, CFSTR("USB")) || CFEqual(deviceProtocolName, CFSTR("Secure Digital")))) || 
+                      (deviceModelKey     != nullptr && CFEqual(deviceModelKey, CFSTR("SD Card Reader"))) );
                 //!CFEqual(deviceModelKey, CFSTR("Disk Image"));
                 if (op)
                     [result addObject:volURL.path];