bool UIWidget::onMouseRelease(const Point& mousePos, Fw::MouseButton button) { if(isPressed() && getRect().contains(mousePos)) callLuaField("onClick"); UIWidgetPtr draggedWidget = g_ui.getDraggingWidget(); if(draggedWidget && button == Fw::MouseLeftButton && (containsPoint(mousePos) || asUIWidget() == g_ui.getRootWidget())) { onDrop(draggedWidget, mousePos); draggedWidget->onDragLeave(asUIWidget(), mousePos); draggedWidget->setDragging(false); } return callLuaField<bool>("onMouseRelease", mousePos, button); }