I am trying to add new MenuItems to the context menu of a SourceView. So I hooked into the addOnPopulatePopup callback which looks like this:


...
   SourceView sourceView = new SourceView();
   sourceView.addOnPopulatePopup(&onTextViewPopulatePopup); 
...

private void onTextViewPopulatePopup(Widget w, TextView v)
{
   Menu m = new Menu(cast(GtkMenu*)w.getWidgetStruct());
   m.append(new MenuItem("Test", &onTestMenuItem, "Test"));
   m.showAll();
}

The issue that I am having is that the Menu is being sent as Widget, first I tried casting the Widget w to a Menu, but that didn't work.

The way I was able to get it to work was to cast the GtkWidget* to a GTKMenu*.

Is this a bug, or the correct way to do it?