Issue 1:
Electron version: ^1.1.1

Operating system: El Capitan 10.11.5

Here the gist:

https://gist.github.com/oxcarga/289dadcd829458b50823c6b57bf8e218/edit

In renderer process we have a simple button calling remote.dialog.showOpenDialog()

with a callback fn which just prints in console the filenames for the selected images.

At some point callback fn ( callback for dialog.showOpenDialog() ) stops being called. Lets say we repeat this process some times:

(with console opened)

click btn (dialog opens)

"clicked!" is console-logged

select 1,5 or N number of images from X folder

hit open

array length & array itself are console-logged

repeat #1

Do this for several times, then stop for a while, then try again.

Not sure how or why but this reproduces the issue for me. At some point we just get the "clicked!" console log and we stops receiving callback's console logs.

P.D.: gist above is ready to run

npm install && npm start

Issue 2:
Electron version: 1.2.1+ possibly 1.0+

Operating system:Windows 10 - others?

nativeImage now has possible bug. When using "electron-canvas-to-buffer" it was working 100% reliable in Electron 0.37.2.

It is broken now in Electron 1.2.1 +, possibly in Electron 1.0 +

https://github.com/mattdesl/electron-canvas-to-buffer

This module is fairly simple but very convenient and makes use of Electrons built in nativeImage.

Details:

After a few series of changing Canvas elements and saving the canvas the file is no longer saved. When the file is not written, However the file dialog is presented, and it appears that the file is saved, But it doesn't really save the file.

Happens saving either .jpg or .png.

May save OK a few times, eventually it will fail.

Once it fails it will not ever save canvas again until app is restarted again.

Tested many many canvas edits and files saves, never fails in Electron 0.37.2 Rock Solid.

I am using fabric.js for canvas manipulation.

7.The initial canvas save to file always works.

8.When the file save fails there is no error generated. The app does not generate an error when the write fails, But it does not generate a "Write of',filePath,'was successful' in the console during the failure. So lack of "success" is the actual error indication. See the saveCallback function in "canvastest.js" in the zip files or as below. "throw err" doesn't present itself when the file doesn't write.

function saveTheFile(){

dialog.showSaveDialog({title:'Testing a save dialog',defaultPath:'image.png'},saveCallback);

}

function saveCallback(filePath){

// as a buffer

var buffer = canvasBuffer(canvas, 'image/png')

// write canvas to file

fs.writeFile(filePath, buffer, function (err) {

//throw err

if(err)throw err;else console.log('Write of',filePath,'was successful');

})

9.Using Windows 10 x64, Windows 32 bit version of Electron

You can test good (made on Electron 0.37.2) vs. bad (made on Electron 1.2.1) app. Zip files are too big to attach here. I have it on my website. Just load a photo on the canvas and save. Both apps are the same code, just made minor changes to allow the new version 1.2.1 Electron to work, for example removing "dashes" in require statements, as you had to do in electron-canvas-to-buffer V 2.0.

Apps can be launched just click "Electron.exe" in root of the zip file.

Using Electron V 0.37.2

http://www.mgparrish.com/FabricSaveCanvasGood.zip

Using Electron V 1.21

http://www.mgparrish.com/FabricSaveCanvasBug.zip