Merge pull request 'Fix bug 79612' (#563) from fix/bug-79612 into release/v9.3.0

This commit is contained in:
Maxim Kadushkin
2026-02-01 18:57:16 +00:00

View File

@ -69,7 +69,6 @@
@interface AppDelegate () { @interface AppDelegate () {
ASCPrinterContext * m_pContext; ASCPrinterContext * m_pContext;
NSTimer *dropTimer; NSTimer *dropTimer;
BOOL dropTimerActive;
NSPoint lastCursorPos; NSPoint lastCursorPos;
} }
@property (weak) IBOutlet NSMenuItem *updateMenuItem; @property (weak) IBOutlet NSMenuItem *updateMenuItem;
@ -1682,7 +1681,6 @@
[dropTimer invalidate]; [dropTimer invalidate];
} }
dropTimer = nil; dropTimer = nil;
dropTimerActive = NO;
} }
- (void)validateDrop:(NSWindow *)editorWindow { - (void)validateDrop:(NSWindow *)editorWindow {
@ -1694,23 +1692,20 @@
if (mainWindow && mainWindow.isVisible && !mainWindow.isMiniaturized) { if (mainWindow && mainWindow.isVisible && !mainWindow.isMiniaturized) {
self.dropEditorWindow = editorWindow; self.dropEditorWindow = editorWindow;
if (!dropTimer) {
dropTimer = [NSTimer timerWithTimeInterval:0.3
target:self
selector:@selector(handleDropTimer)
userInfo:nil
repeats:YES];
}
NSPoint pos = [NSEvent mouseLocation]; NSPoint pos = [NSEvent mouseLocation];
if ([titlebarController canPinTabAtPoint:pos]) { if ([titlebarController canPinTabAtPoint:pos]) {
if (!dropTimerActive) { if (!dropTimer) {
[[NSRunLoop currentRunLoop] addTimer:dropTimer forMode:NSRunLoopCommonModes]; dropTimer = [NSTimer scheduledTimerWithTimeInterval:0.15
dropTimerActive = YES; target:self
selector:@selector(handleDropTimer)
userInfo:nil
repeats:YES];
} }
lastCursorPos = pos; lastCursorPos = pos;
} else { } else {
[self stopDropTimer]; if (dropTimer) {
[self stopDropTimer];
}
} }
} }
} }