Revision: 28041
          http://sourceforge.net/p/bibdesk/svn/28041
Author:   hofman
Date:     2022-10-26 10:05:10 +0000 (Wed, 26 Oct 2022)
Log Message:
-----------
Make sure we restore the selection in a textfield's currentEditor

Modified Paths:
--------------
    trunk/bibdesk/BDSKEditor.m

Modified: trunk/bibdesk/BDSKEditor.m
===================================================================
--- trunk/bibdesk/BDSKEditor.m  2022-10-26 09:24:15 UTC (rev 28040)
+++ trunk/bibdesk/BDSKEditor.m  2022-10-26 10:05:10 UTC (rev 28041)
@@ -452,7 +452,7 @@
      */
        if([firstResponder isKindOfClass:[NSText class]]){
         
-        NSTextView *textView = [[(NSTextView *)firstResponder retain] 
autorelease];
+        NSTextView *textView = (NSTextView *)firstResponder;
                NSInteger editedRow = -1;
                NSArray *selection = [[[textView selectedRanges] retain] 
autorelease];
         if ([textView isFieldEditor]) {
@@ -478,10 +478,17 @@
         
         // for inherited fields, we should do something here to make sure the 
user doesn't have to go through the warning sheet
                
-               if (editorFlags.didSetupFields == NO && [[self window] 
makeFirstResponder:firstResponder]) {
-            if (editedRow != -1 && editedRow < [tableView numberOfRows])
+               if (editorFlags.didSetupFields == NO || editedRow == -1) {
+            if ([firstResponder isKindOfClass:[NSTextField class]] == NO) {
+                if ([[self window] makeFirstResponder:textView])
+                    [textView setSafeSelectedRanges:selection];
+            } else if (editedRow == -1) {
+                if ([[self window] makeFirstResponder:firstResponder])
+                    [(NSTextView *)[(NSTextField *)firstResponder 
currentEditor] setSafeSelectedRanges:selection];
+            } else if (editedRow < [tableView numberOfRows]) {
                 [tableView editColumn:1 row:editedRow withEvent:nil select:NO];
-            [textView setSafeSelectedRanges:selection];
+                [(NSTextView *)[[self textFieldAtRow:editedRow] currentEditor] 
setSafeSelectedRanges:selection];
+            }
         }
         
     }

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to