* **Electron Version:**
  * 5.0.0 beta 5
* **Operating System:**
  * Windows 10
* **Last Known Working Electron version:**:
  * ?

### Expected Behavior
`tray.popUpContextMenu()` should do nothing (and no harm) if the context menu is already showing.

### Actual Behavior
App crashes.

### To Reproduce
Example that calls popUpContextMenu twice:

main.js:

    const {app, Menu, Tray, nativeImage} = require('electron')

    function main () {
      tray = new Tray(nativeImage.createEmpty())
      tray.setContextMenu(Menu.buildFromTemplate([{ label: "Test" }]));
      setTimeout(() => tray.popUpContextMenu(), 3000)  
      tray.popUpContextMenu()
    }
atom/browser/ui/win/notify_icon.cc
#include "atom/browser/ui/win/notify_icon.h"
#include "atom/browser/ui/win/notify_icon_host.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/utf_string_conversions.h"
#include "base/win/windows_version.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/display/screen.h"
#include "ui/display/win/screen_win.h"
#include "ui/gfx/geometry/point.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/image/image.h"
#include "ui/views/controls/menu/menu_runner.h"
#include "ui/views/widget/widget.h"
namespace atom {
NotifyIcon::NotifyIcon(NotifyIconHost* host, UINT id, HWND window, UINT message)