Not having found, I wrote a fix to do so.
But when analyzing the code I found an anomaly !
The class managing the exchange is called 'EditorManager' ('editormanager.h' and 'editormanager.cpp')
Also I offer you a test:
I use the renowned version 'cb-13951' (cb51) and 'cb-13958' (cb58)
1- open any version of 'Cb' but empty,
2- load the 'cb51.cbp' project, open the file 'include/editormanager.h'
3- load the 'cb58.cbp' project, open the file 'include/editormanager.h'
4- activate the project 'cb51' :
4-1 select 'cb51::editormanager.h'
4.2 use in the editor's survey menu' => 'Swap header/source' and validate :
=> a file ''cb51::editormanager.cpp' appears on the right ; it's good
4.3- select 'cb58::editormanager.h'
4.4- use in the editor's survey menu' => 'Swap header/source' and validate :
=> the file 'cb51::editormanager.cpp' is selected !!, it's not the good file
This shows that the verification of belonging to the same project was not carried out in the code
If you could confirm these results, I'll drop off a ticket with the fix.