summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lwlib/lwlib-Xm.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c
index fa60fc89d08..25b1cc6b121 100644
--- a/lwlib/lwlib-Xm.c
+++ b/lwlib/lwlib-Xm.c
@@ -290,7 +290,12 @@ xm_arm_callback (Widget w, XtPointer client_data, XtPointer call_data)
if (w != NULL)
{
instance = lw_get_widget_instance (w);
- if (instance && instance->info->highlight_cb)
+
+ if (instance && instance->info->highlight_cb
+ && (cbs->reason == XmCR_DISARM
+ || (cbs->event
+ && (cbs->event->type == EnterNotify
+ || cbs->event->type == MotionNotify))))
{
call_data = cbs->reason == XmCR_DISARM ? NULL : wv;
instance->info->highlight_cb (w, instance->info->id, call_data);