Skip to content

Commit 3bbddb3

Browse files
authored
Merge pull request #919 from ychin/fix-drag-drop-swap-file-freeze
Fix drag-and-drop with swap file enabled causing MacVim to freeze
2 parents 2760686 + 7ec24fa commit 3bbddb3

1 file changed

Lines changed: 7 additions & 11 deletions

File tree

src/MacVim/MMBackend.m

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -636,10 +636,12 @@ - (void)update
636636

637637
- (void)flushQueue:(BOOL)force
638638
{
639-
// NOTE: This variable allows for better control over when the queue is
640-
// flushed. It can be set to YES at the beginning of a sequence of calls
641-
// that may potentially add items to the queue, and then restored back to
642-
// NO.
639+
// TODO: "force" is currently unused. When flushDisabled is set, it will
640+
// always disable flushing. Consider fixing it so that force will actually
641+
// forcefully flush (i.e. ignore flushDisabled), and change
642+
// gui_macvim_flush() to call flushQueue with
643+
// force set to NO.
644+
643645
if (flushDisabled) return;
644646

645647
if ([drawData length] > 0) {
@@ -1793,7 +1795,7 @@ - (void)waitForDialogReturn
17931795
if (count%2 == 0) {
17941796
for (i = count-2; i >= 0; i -= 2) {
17951797
int msgid = [[inputQueue objectAtIndex:i] intValue];
1796-
if (SetTextDimensionsMsgID == msgid) {
1798+
if (SetTextDimensionsMsgID == msgid || SetTextDimensionsNoResizeWindowMsgID == msgid) {
17971799
textDimData = [[inputQueue objectAtIndex:i+1] retain];
17981800
break;
17991801
}
@@ -2716,10 +2718,6 @@ - (void)handleOpenWithArguments:(NSDictionary *)args
27162718
bufHasFilename = curbuf->b_ffname != NULL;
27172719
}
27182720

2719-
// Temporarily disable flushing since the following code may
2720-
// potentially cause multiple redraws.
2721-
flushDisabled = YES;
2722-
27232721
// Make sure we're in normal mode first.
27242722
// TODO: The mixing of addInput and Ex commands is a little
27252723
// problematic because addInput is asynchronous and will therefore
@@ -2959,8 +2957,6 @@ - (void)handleOpenWithArguments:(NSDictionary *)args
29592957
out_flush();
29602958
gui_update_cursor(FALSE, FALSE);
29612959
maketitle();
2962-
2963-
flushDisabled = NO;
29642960
}
29652961
}
29662962

0 commit comments

Comments
 (0)