Skip to content
This repository

Tabs less broken #51

Open
wants to merge 2 commits into from

1 participant

Max Goedjen
Max Goedjen

Updated chromium-tabs to use SevenBits' fork which doesn't break after closing and reopening a window.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.

Showing 21 changed files with 66 additions and 35 deletions. Show diff stats Hide diff stats

  1. BIN  ChromiumTabs.framework/Versions/A/ChromiumTabs
  2. 7  ChromiumTabs.framework/Versions/A/Headers/CTBrowser.h
  3. 2  ChromiumTabs.framework/Versions/A/Headers/CTBrowserWindow.h
  4. 8  ChromiumTabs.framework/Versions/A/Headers/CTTabContents.h
  5. 2  ChromiumTabs.framework/Versions/A/Headers/CTTabContentsController.h
  6. 4  ChromiumTabs.framework/Versions/A/Headers/CTTabController.h
  7. 10  ChromiumTabs.framework/Versions/A/Headers/CTTabStripController.h
  8. 2  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModel.h
  9. 4  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModelObserverBridge.h
  10. 2  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModelOrderController.h
  11. 2  ChromiumTabs.framework/Versions/A/Headers/CTToolbarController.h
  12. 6  ChromiumTabs.framework/Versions/A/Headers/GTMWindowSheetController.h
  13. 11  ChromiumTabs.framework/Versions/A/Headers/common.h
  14. BIN  ChromiumTabs.framework/Versions/A/Resources/BrowserWindow.nib
  15. BIN  ChromiumTabs.framework/Versions/A/Resources/English.lproj/Localizable.strings
  16. 16  ChromiumTabs.framework/Versions/A/Resources/Info.plist
  17. BIN  ChromiumTabs.framework/Versions/A/Resources/TabContents.nib
  18. BIN  ChromiumTabs.framework/Versions/A/Resources/TabView.nib
  19. BIN  ChromiumTabs.framework/Versions/A/Resources/Toolbar.nib
  20. 19  Ingredients.xcodeproj/project.pbxproj
  21. 6  Ingredients_AppDelegate.m
BIN  ChromiumTabs.framework/Versions/A/ChromiumTabs
Binary file not shown
7  ChromiumTabs.framework/Versions/A/Headers/CTBrowser.h
@@ -23,14 +23,14 @@ class CTTabStripModel;
23 23
 @public
24 24
   // Important: Don't ever change this value from user code. It's public just
25 25
   // so that the internal machinery can set it at the appropriate time.
26  
-  /* bug! __weak */ CTBrowserWindowController *windowController_;
  26
+  CTBrowserWindowController *windowController_;
27 27
 }
28 28
 
29 29
 // The tab strip model
30 30
 @property(readonly, nonatomic) CTTabStripModel* tabStripModel;
31 31
 
32 32
 // The window controller
33  
-@property(readonly, nonatomic) /* bug! __weak */ CTBrowserWindowController* windowController;
  33
+@property(readonly, nonatomic) CTBrowserWindowController* windowController;
34 34
 
35 35
 // The window. Convenience for [windowController window]
36 36
 @property(readonly, nonatomic) NSWindow* window;
@@ -39,9 +39,6 @@ class CTTabStripModel;
39 39
 // @autoreleased
40 40
 +(CTBrowser*)browser;
41 41
 
42  
-// Initialize a new browser as the child of windowController
43  
--(id)initWithWindowController:(CTBrowserWindowController*)windowController;
44  
-
45 42
 // init
46 43
 -(id)init;
47 44
 
2  ChromiumTabs.framework/Versions/A/Headers/CTBrowserWindow.h
@@ -8,7 +8,7 @@
8 8
 
9 9
 // Offset from the top of the window frame to the top of the window controls
10 10
 // (zoom, close, miniaturize) for a window with a tabstrip.
11  
-const NSInteger CTWindowButtonsWithTabStripOffsetFromTop = 6;
  11
+const NSInteger CTWindowButtonsWithTabStripOffsetFromTop = 4;
12 12
 
13 13
 // Offset from the top of the window frame to the top of the window controls
14 14
 // (zoom, close, miniaturize) for a window without a tabstrip.
8  ChromiumTabs.framework/Versions/A/Headers/CTTabContents.h
@@ -46,8 +46,8 @@ extern NSString* const CTTabContentsDidCloseNotification;
46 46
   NSView *view_; // the actual content
47 47
   NSString *title_; // title of this tab
48 48
   NSImage *icon_; // tab icon (nil means no or default icon)
49  
-  /* bug! __weak */ CTBrowser *browser_;
50  
-  /* bug! __weak */ CTTabContents* parentOpener_; // the tab which opened this tab (unless nil)
  49
+  CTBrowser *browser_;
  50
+  __weak CTTabContents* parentOpener_; // the tab which opened this tab (unless nil)
51 51
 }
52 52
 
53 53
 @property(assign, nonatomic) BOOL isApp;
@@ -62,8 +62,8 @@ extern NSString* const CTTabContentsDidCloseNotification;
62 62
 @property(retain, nonatomic) NSView *view;
63 63
 @property(retain, nonatomic) NSString *title;
64 64
 @property(retain, nonatomic) NSImage *icon;
65  
-@property(assign, nonatomic) /* bug! __weak */ CTBrowser *browser;
66  
-@property(assign, nonatomic) /* bug! __weak */ CTTabContents* parentOpener;
  65
+@property(assign, nonatomic) CTBrowser *browser;
  66
+@property(assign, nonatomic) CTTabContents* parentOpener;
67 67
 
68 68
 // If this returns true, special icons like throbbers and "crashed" is
69 69
 // displayed, even if |icon| is nil. By default this returns true.
2  ChromiumTabs.framework/Versions/A/Headers/CTTabContentsController.h
@@ -20,7 +20,7 @@ class CTTabStripModel;
20 20
 
21 21
 @interface CTTabContentsController : NSViewController {
22 22
  @private
23  
-  /* bug! __weak */ CTTabContents* contents_;  // weak
  23
+  __weak CTTabContents* contents_;  // weak
24 24
 
25 25
   IBOutlet NSSplitView* contentsContainer_;
26 26
 }
4  ChromiumTabs.framework/Versions/A/Headers/CTTabController.h
@@ -48,7 +48,7 @@ enum CTTabLoadingState {
48 48
   CTTabLoadingState loadingState_;
49 49
   CGFloat iconTitleXOffset_;  // between left edges of icon and title
50 50
   CGFloat titleCloseWidthOffset_;  // between right edges of icon and close btn.
51  
-  /* bug! __weak */ id<CTTabControllerTarget> target_;  // weak, where actions are sent
  51
+  id<CTTabControllerTarget> target_;  // weak, where actions are sent
52 52
   SEL action_;  // selector sent when tab is selected by clicking
53 53
   //scoped_ptr<TabMenuModel> contextMenuModel_;
54 54
   //scoped_ptr<TabControllerInternal::MenuDelegate> contextMenuDelegate_;
@@ -63,7 +63,7 @@ enum CTTabLoadingState {
63 63
 @property(assign, nonatomic) BOOL phantom;
64 64
 @property(assign, nonatomic) BOOL pinned;
65 65
 @property(assign, nonatomic) BOOL selected;
66  
-@property(assign, nonatomic) /* bug! __weak */ id<CTTabControllerTarget> target;
  66
+@property(assign, nonatomic) id target;
67 67
 
68 68
 // Minimum and maximum allowable tab width. The minimum width does not show
69 69
 // the icon or the close button. The selected tab always has at least a close
10  ChromiumTabs.framework/Versions/A/Headers/CTTabStripController.h
@@ -41,17 +41,17 @@ class CTTabStripModel;
41 41
   BOOL verticalLayout_;
42 42
 
43 43
  @private
44  
-  /* bug! __weak */ CTTabContents* currentTab_;  // weak, tab for which we're showing state
  44
+  __weak CTTabContents* currentTab_;  // weak, tab for which we're showing state
45 45
   scoped_nsobject<CTTabStripView> tabStripView_;
46  
-  /* bug! __weak */ NSView* switchView_;  // weak
  46
+  __weak NSView* switchView_;  // weak
47 47
   scoped_nsobject<NSView> dragBlockingView_;  // avoid bad window server drags
48  
-  /* bug! __weak */ NewTabButton* newTabButton_;  // weak, obtained from the nib.
  48
+  __weak NewTabButton* newTabButton_;  // weak, obtained from the nib.
49 49
 
50 50
   // Tracks the newTabButton_ for rollovers.
51 51
   scoped_nsobject<NSTrackingArea> newTabTrackingArea_;
52 52
   scoped_ptr<CTTabStripModelObserverBridge> bridge_;
53  
-  /* bug! __weak */ CTBrowser *browser_;  // weak
54  
-  /* bug! __weak */ CTTabStripModel* tabStripModel_;  // weak
  53
+  __weak CTBrowser *browser_;  // weak
  54
+  __weak CTTabStripModel* tabStripModel_;  // weak
55 55
 
56 56
   // YES if the new tab button is currently displaying the hover image (if the
57 57
   // mouse is currently over the button).
2  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModel.h
@@ -651,7 +651,7 @@ class CTTabStripModel /*: public NotificationObserver*/ {
651 651
       CTTabReplaceType type);
652 652
 
653 653
   // Our delegate.
654  
-  /* bug! __weak */ NSObject<CTTabStripModelDelegate>* delegate_;
  654
+  NSObject<CTTabStripModelDelegate>* delegate_;
655 655
 
656 656
   // A hunk of data representing a CTTabContents and (optionally) the
657 657
   // NavigationController that spawned it. This memory only sticks around while
4  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModelObserverBridge.h
@@ -53,8 +53,8 @@ class CTTabStripModelObserverBridge : public CTTabStripModelObserver {
53 53
   virtual void TabStripEmpty();
54 54
 
55 55
  private:
56  
-  /* bug! __weak */ id controller_;  // owns me
57  
-  /* bug! __weak */ CTTabStripModel* model_;  // owned by CTBrowser
  56
+  id controller_;  // owns me
  57
+  CTTabStripModel* model_;  // owned by CTBrowser
58 58
 };
59 59
 
60 60
 // A collection of methods which can be selectively implemented by any
2  ChromiumTabs.framework/Versions/A/Headers/CTTabStripModelOrderController.h
@@ -58,7 +58,7 @@ class CTTabStripModelOrderController : public CTTabStripModelObserver {
58 58
   // away. This also skips any phantom tabs.
59 59
   int GetValidIndex(int index, int removing_index, bool is_remove) const;
60 60
 
61  
-  /* bug! __weak */ CTTabStripModel* tabStripModel_;
  61
+  CTTabStripModel* tabStripModel_;
62 62
 
63 63
   CTTabStripModel::InsertionPolicy insertion_policy_;
64 64
 
2  ChromiumTabs.framework/Versions/A/Headers/CTToolbarController.h
@@ -21,7 +21,7 @@
21 21
 //    and return a CTToolbarController based on your nib.
22 22
 //
23 23
 @interface CTToolbarController : NSViewController<URLDropTargetController> {
24  
-  /* bug! __weak */ CTBrowser* browser_;  // weak, one per window
  24
+  __weak CTBrowser* browser_;  // weak, one per window
25 25
  @private
26 26
   // Tracking area for mouse enter/exit/moved in the toolbar.
27 27
   scoped_nsobject<NSTrackingArea> trackingArea_;
6  ChromiumTabs.framework/Versions/A/Headers/GTMWindowSheetController.h
@@ -56,9 +56,9 @@
56 56
 
57 57
 @interface GTMWindowSheetController : NSObject {
58 58
  @private
59  
-  /* bug! __weak */ NSWindow* window_;
60  
-  /* bug! __weak */ NSView* activeView_;
61  
-  /* bug! __weak */ id <GTMWindowSheetControllerDelegate> delegate_;
  59
+  __weak NSWindow* window_;
  60
+  __weak NSView* activeView_;
  61
+  __weak id <GTMWindowSheetControllerDelegate> delegate_;
62 62
 
63 63
   NSMutableDictionary* sheets_;  // NSValue*(NSView*) -> SheetInfo*
64 64
 }
11  ChromiumTabs.framework/Versions/A/Headers/common.h
@@ -108,6 +108,17 @@ const char *common_strrstr(const char *string, const char *find);
108 108
     if (src) [src retain];
109 109
     return old;
110 110
   }
  111
+  
  112
+  static inline BOOL ct_casid(id volatile *target, id newval) {
  113
+    id oldval = *target;
  114
+    if (__sync_bool_compare_and_swap((void*volatile*)target, (void*)oldval,
  115
+                                     (void*)newval)) {
  116
+      [newval retain];
  117
+      [oldval release];
  118
+      return YES;
  119
+    }
  120
+    return NO;
  121
+  }
111 122
 #endif // __OBJC__
112 123
 
113 124
 #endif // COMMON_H_
BIN  ChromiumTabs.framework/Versions/A/Resources/BrowserWindow.nib
Binary file not shown
BIN  ChromiumTabs.framework/Versions/A/Resources/English.lproj/Localizable.strings
Binary file not shown
16  ChromiumTabs.framework/Versions/A/Resources/Info.plist
@@ -2,6 +2,8 @@
2 2
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3 3
 <plist version="1.0">
4 4
 <dict>
  5
+	<key>BuildMachineOSBuild</key>
  6
+	<string>12C3012</string>
5 7
 	<key>CFBundleDevelopmentRegion</key>
6 8
 	<string>English</string>
7 9
 	<key>CFBundleExecutable</key>
@@ -18,5 +20,19 @@
18 20
 	<string>????</string>
19 21
 	<key>CFBundleVersion</key>
20 22
 	<string>0.0.4</string>
  23
+	<key>DTCompiler</key>
  24
+	<string>com.apple.compilers.llvm.clang.1_0</string>
  25
+	<key>DTPlatformBuild</key>
  26
+	<string>4G2008a</string>
  27
+	<key>DTPlatformVersion</key>
  28
+	<string>GM</string>
  29
+	<key>DTSDKBuild</key>
  30
+	<string>12C37</string>
  31
+	<key>DTSDKName</key>
  32
+	<string>macosx10.8</string>
  33
+	<key>DTXcode</key>
  34
+	<string>0452</string>
  35
+	<key>DTXcodeBuild</key>
  36
+	<string>4G2008a</string>
21 37
 </dict>
22 38
 </plist>
BIN  ChromiumTabs.framework/Versions/A/Resources/TabContents.nib
Binary file not shown
BIN  ChromiumTabs.framework/Versions/A/Resources/TabView.nib
Binary file not shown
BIN  ChromiumTabs.framework/Versions/A/Resources/Toolbar.nib
Binary file not shown
19  Ingredients.xcodeproj/project.pbxproj
@@ -7,6 +7,8 @@
7 7
 	objects = {
8 8
 
9 9
 /* Begin PBXBuildFile section */
  10
+		50F080A216B39ED300E68141 /* ChromiumTabs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50F080A116B39ED300E68141 /* ChromiumTabs.framework */; };
  11
+		50F080A316B39ED500E68141 /* ChromiumTabs.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 50F080A116B39ED300E68141 /* ChromiumTabs.framework */; };
10 12
 		7515376D11CC64D5004529B2 /* openingpage.css in Resources */ = {isa = PBXBuildFile; fileRef = 7515376C11CC64D5004529B2 /* openingpage.css */; };
11 13
 		751D2D181126F1F400403E64 /* no_selection.html in Resources */ = {isa = PBXBuildFile; fileRef = 751D2D171126F1F400403E64 /* no_selection.html */; };
12 14
 		751E45D61125E6CE00CD544A /* tictactoe_style.css in Resources */ = {isa = PBXBuildFile; fileRef = 751E45D51125E6CE00CD544A /* tictactoe_style.css */; };
@@ -72,8 +74,6 @@
72 74
 		75301F6D11B2F04A006DA0E3 /* annotations.js in Sources */ = {isa = PBXBuildFile; fileRef = 75301F6C11B2F04A006DA0E3 /* annotations.js */; };
73 75
 		75301FA911B2F55D006DA0E3 /* annotations.js in Resources */ = {isa = PBXBuildFile; fileRef = 75301F6C11B2F04A006DA0E3 /* annotations.js */; };
74 76
 		7542AF091336F395001A3AFA /* sqlite3.c in Sources */ = {isa = PBXBuildFile; fileRef = 7542ADA51336F28A001A3AFA /* sqlite3.c */; };
75  
-		75461349135BE7AB00A1BA0A /* ChromiumTabs.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 75461348135BE7AB00A1BA0A /* ChromiumTabs.framework */; };
76  
-		7546134A135BE7BB00A1BA0A /* ChromiumTabs.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 75461348135BE7AB00A1BA0A /* ChromiumTabs.framework */; };
77 77
 		754AA3FC1140267D00321EAF /* AnthillReporter.nib in Resources */ = {isa = PBXBuildFile; fileRef = 754AA3FB1140267D00321EAF /* AnthillReporter.nib */; };
78 78
 		755F427E112323C600AA16F5 /* tictactoe.html in Resources */ = {isa = PBXBuildFile; fileRef = 755F427D112323C600AA16F5 /* tictactoe.html */; };
79 79
 		755F42AF112326E700AA16F5 /* sourcelist_indexing_wallpaper.png in Resources */ = {isa = PBXBuildFile; fileRef = 755F42AE112326E700AA16F5 /* sourcelist_indexing_wallpaper.png */; };
@@ -158,9 +158,9 @@
158 158
 			dstPath = "";
159 159
 			dstSubfolderSpec = 10;
160 160
 			files = (
161  
-				7546134A135BE7BB00A1BA0A /* ChromiumTabs.framework in CopyFiles */,
162 161
 				75943BCE114407C9004126E7 /* Sparkle.framework in CopyFiles */,
163 162
 				756F9DE3110BB59100E6F291 /* BWToolkitFramework.framework in CopyFiles */,
  163
+				50F080A316B39ED500E68141 /* ChromiumTabs.framework in CopyFiles */,
164 164
 			);
165 165
 			runOnlyForDeploymentPostprocessing = 0;
166 166
 		};
@@ -186,6 +186,7 @@
186 186
 		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
187 187
 		2F7446980DB6B7EA00F9684A /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
188 188
 		32CA4F630368D1EE00C91783 /* Ingredients_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Ingredients_Prefix.pch; sourceTree = "<group>"; };
  189
+		50F080A116B39ED300E68141 /* ChromiumTabs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ChromiumTabs.framework; sourceTree = "<group>"; };
189 190
 		7507CF4311598197008449DE /* IGKPredicateEditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGKPredicateEditor.h; sourceTree = "<group>"; };
190 191
 		7507CF4411598197008449DE /* IGKPredicateEditor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGKPredicateEditor.m; sourceTree = "<group>"; };
191 192
 		750DFBCD114671CC004C5D08 /* IGKMattePopUpButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGKMattePopUpButton.h; sourceTree = "<group>"; };
@@ -215,7 +216,6 @@
215 216
 		75461340135BE78C00A1BA0A /* IGKTabBrowser.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGKTabBrowser.mm; sourceTree = "<group>"; };
216 217
 		75461341135BE78C00A1BA0A /* IGKTabContents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGKTabContents.h; sourceTree = "<group>"; };
217 218
 		75461342135BE78C00A1BA0A /* IGKTabContents.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = IGKTabContents.mm; sourceTree = "<group>"; };
218  
-		75461348135BE7AB00A1BA0A /* ChromiumTabs.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = ChromiumTabs.framework; sourceTree = "<group>"; };
219 219
 		7546134D135BE86A00A1BA0A /* common.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = common.c; sourceTree = "<group>"; };
220 220
 		7546134E135BE86A00A1BA0A /* common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = common.h; sourceTree = "<group>"; };
221 221
 		7546134F135BE86A00A1BA0A /* common.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = common.mm; sourceTree = "<group>"; };
@@ -390,7 +390,7 @@
390 390
 				75B23F6A1140216200EC1D2B /* Security.framework in Frameworks */,
391 391
 				75943BA5114407C2004126E7 /* Sparkle.framework in Frameworks */,
392 392
 				75A9AAA911495F2300E539F2 /* QuartzCore.framework in Frameworks */,
393  
-				75461349135BE7AB00A1BA0A /* ChromiumTabs.framework in Frameworks */,
  393
+				50F080A216B39ED300E68141 /* ChromiumTabs.framework in Frameworks */,
394 394
 			);
395 395
 			runOnlyForDeploymentPostprocessing = 0;
396 396
 		};
@@ -483,7 +483,6 @@
483 483
 		1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
484 484
 			isa = PBXGroup;
485 485
 			children = (
486  
-				75461348135BE7AB00A1BA0A /* ChromiumTabs.framework */,
487 486
 				75943BA4114407C2004126E7 /* Sparkle.framework */,
488 487
 				75F67043110CD033005F299C /* libicucore.dylib */,
489 488
 				756F9E60110BE76600E6F291 /* WebKit.framework */,
@@ -491,6 +490,7 @@
491 490
 				1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
492 491
 				75B23F691140216200EC1D2B /* Security.framework */,
493 492
 				75A9AAA811495F2300E539F2 /* QuartzCore.framework */,
  493
+				50F080A116B39ED300E68141 /* ChromiumTabs.framework */,
494 494
 			);
495 495
 			name = "Linked Frameworks";
496 496
 			sourceTree = "<group>";
@@ -794,6 +794,7 @@
794 794
 			isa = PBXProject;
795 795
 			buildConfigurationList = 26FC0A880875C7B200E6366F /* Build configuration list for PBXProject "Ingredients" */;
796 796
 			compatibilityVersion = "Xcode 3.1";
  797
+			developmentRegion = English;
797 798
 			hasScannedForEncodings = 1;
798 799
 			knownRegions = (
799 800
 				English,
@@ -992,7 +993,7 @@
992 993
 		26FC0A850875C7B200E6366F /* Debug */ = {
993 994
 			isa = XCBuildConfiguration;
994 995
 			buildSettings = {
995  
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
  996
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
996 997
 				COPY_PHASE_STRIP = NO;
997 998
 				FRAMEWORK_SEARCH_PATHS = (
998 999
 					"$(inherited)",
@@ -1011,6 +1012,7 @@
1011 1012
 				LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)";
1012 1013
 				LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
1013 1014
 				PRODUCT_NAME = Ingredients;
  1015
+				SDKROOT = macosx;
1014 1016
 				WRAPPER_EXTENSION = app;
1015 1017
 			};
1016 1018
 			name = Debug;
@@ -1018,7 +1020,7 @@
1018 1020
 		26FC0A860875C7B200E6366F /* Release */ = {
1019 1021
 			isa = XCBuildConfiguration;
1020 1022
 			buildSettings = {
1021  
-				ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
  1023
+				ARCHS = "$(ARCHS_STANDARD_64_BIT)";
1022 1024
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
1023 1025
 				FRAMEWORK_SEARCH_PATHS = (
1024 1026
 					"$(inherited)",
@@ -1034,6 +1036,7 @@
1034 1036
 				LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)";
1035 1037
 				LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
1036 1038
 				PRODUCT_NAME = Ingredients;
  1039
+				SDKROOT = macosx;
1037 1040
 				WRAPPER_EXTENSION = app;
1038 1041
 			};
1039 1042
 			name = Release;
6  Ingredients_AppDelegate.m
@@ -67,7 +67,11 @@ - (void)commandDispatch:(id)sender {
67 67
 
68 68
 
69 69
 - (BOOL)applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag {
70  
-	[kitController showWindow:nil];
  70
+    if (flag) {
  71
+        [kitController showWindow:nil];
  72
+    } else {
  73
+        [kitController newWindow:nil];
  74
+    }
71 75
 	return YES;
72 76
 }
73 77
 
Commit_comment_tip

Tip: You can add notes to lines in a file. Hover to the left of a line to make a note

Something went wrong with that request. Please try again.