BathyScapheで画像のインラインプレビューを可能にするプラグイン
| Revision | 3947f54314d2cd784bbabe20a4444a91435824d3 (tree) |
|---|---|
| Time | 2012-05-20 13:28:21 |
| Author | masakih <masakih@user...> |
| Commiter | masakih |
[Mod] selfNotifiedの増減をスレッドセーフに
| @@ -96,6 +96,19 @@ id keyForTextView(NSTextView *view) | ||
| 96 | 96 | [super dealloc]; |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | +- (void)notyfySelf | |
| 100 | +{ | |
| 101 | + @synchronized(self) { | |
| 102 | + self.selfNotified++; | |
| 103 | + } | |
| 104 | +} | |
| 105 | +- (void)processNotify | |
| 106 | +{ | |
| 107 | + @synchronized(self) { | |
| 108 | + self.selfNotified--; | |
| 109 | + } | |
| 110 | +} | |
| 111 | + | |
| 99 | 112 | NSRange fixRange(NSRange range, NSTextStorage *ts) |
| 100 | 113 | { |
| 101 | 114 | NSRange fixedRange = {0,0}; |
| @@ -121,7 +134,7 @@ NSRange fixRange(NSRange range, NSTextStorage *ts) | ||
| 121 | 134 | range:range]; |
| 122 | 135 | |
| 123 | 136 | [ts insertAttributedString:newInsertion atIndex:range.location]; |
| 124 | - self.selfNotified++; | |
| 137 | + [self notyfySelf]; | |
| 125 | 138 | } |
| 126 | 139 | [ts endEditing]; |
| 127 | 140 | } |
| @@ -134,7 +147,7 @@ NSRange fixRange(NSRange range, NSTextStorage *ts) | ||
| 134 | 147 | return; |
| 135 | 148 | } |
| 136 | 149 | if(self.selfNotified > 0) { |
| 137 | - self.selfNotified--; | |
| 150 | + [self processNotify]; | |
| 138 | 151 | return; |
| 139 | 152 | } |
| 140 | 153 |