void cancel_fall(void) { staticCnt = 0; delayCnt = 0; //watcher_data->flag &= ~flag_sensor_transient; early_warning(false); terminate_transfer(); }
static void select_callback(Widget w, XtPointer cd, Atom *select, Atom *type, XtPointer value, unsigned long *len, int *fmt) { Widget dt = (Widget)cd; XmDropTransferList lst; DEBUGOUT(_LtDebug(__FILE__, dt, "%s:select_callback(%d)", __FILE__, __LINE__)); lst = &DT_DropTransferLists(dt)[DT_CurDropTransferList(dt)]; if (DT_TransferCallback(dt)) { (*DT_TransferCallback(dt)) (dt, lst->transfer_list[DT_CurXfer(dt)].client_data, select, type, value, len, fmt); } lst = &DT_DropTransferLists(dt)[DT_CurDropTransferList(dt)]; if (!DT_Incremental(dt) || (DT_Incremental(dt) && value != NULL && *len == 0)) { DT_CurXfer(dt)++; if (DT_CurXfer(dt) == lst->num_transfers) { XtFree((char *)DT_CurTargets(dt)); XtFree((char *)DT_CurClientData(dt)); DT_CurDropTransferList(dt)++; if (DT_CurDropTransferList(dt) < DT_NumDropTransferLists(dt)) { entry_transfer(dt, DT_CurDropTransferList(dt)); } else { terminate_transfer(dt, select); } } } }
static void drop_timer(XtPointer cd, XtIntervalId *id) { Widget dt = (Widget)cd; Atom select; DEBUGOUT(_LtDebug(__FILE__, dt, "%s:drop_timer(%d)\n", __FILE__, __LINE__)); if (DT_NumDropTransferLists(dt)) { entry_transfer(dt, 0); } else { select = DC_ICCHandle(DT_DragContext(dt)); terminate_transfer(dt, &select); } }