monodevelop icon indicating copy to clipboard operation
monodevelop copied to clipboard

Remove carbon

Open iainx opened this issue 10 years ago • 11 comments

Second pass at removing the use of Carbon for the ApplicationEvents, instead relying on the Cocoa application delegate methods instead.

Fixes the issue from the previous attempt that starting MonoDevelop from the command line or from inside itself would create a blank MonoDevelop solution in the build/bin directory due to Cocoa interpreting the MonoDevelop.exe from the command line mono-sgen MonoDevelop.exe as a filename

iainx avatar Aug 26 '15 12:08 iainx

lgtm.

Therzok avatar Aug 26 '15 14:08 Therzok

Ah, ok. I'll have a think how we can work around it then.

iainx avatar Aug 26 '15 16:08 iainx

@slluis filtering .exe files in the OpenFiles event from the AppDelegate doesn't break loading .exe files from the Open File dialog. The only way a .exe file is passed to the OpenFiles delegate is when running from the command line as make run or running from inside of MD itself.

Would you prefer that I just filter out MonoDevelop.exe here instead of *.exe?

iainx avatar Sep 02 '15 17:09 iainx

So this filters out /build/bin/MonoDevelop.exe but nothing else

iainx avatar Sep 03 '15 10:09 iainx

Is this problem specific to starting MD using mono-sgen? doesn't this happen when running from an app bundle?

slluis avatar Sep 04 '15 08:09 slluis

There are a few ways MD can be started on macos: make run-sgen in a local build which turns into a mono-sgen monodevelop.exe call make run-boehm in a local build which turns into a mono-boehm monodevelop.exe call. make run which builds the native launcher and turns into a ./monodevelop call (like an app bundle) open MonoDevelop.app or double click the app bundle

If you need to filter exe's, maybe you could ignore any file which is the same as the entry executable ( Assembly.GetEntryAssembly () ). That should give you the behaviour you need without hardcoding specific names or always ignoring all .exe files. As long as the right thing happens in the above 4 cases then we should be OK

alanmcgovern avatar Sep 24 '15 12:09 alanmcgovern

Oh, i just remembered that debugging MD inside MD is a fifth way... :P Either way, that should work!

alanmcgovern avatar Sep 24 '15 12:09 alanmcgovern

@alanmcgovern yup, using the entry assembly location works. This was only an issue for when we run MD via make run-sgen/boehm or from debugging inside MD itself. The other methods were not affected

iainx avatar Sep 24 '15 14:09 iainx

sweet :)

alanmcgovern avatar Sep 24 '15 14:09 alanmcgovern

Bump on this and #1065.

Therzok avatar May 05 '16 02:05 Therzok

What are we missing here?

Therzok avatar Jul 18 '17 22:07 Therzok