}
*/
+static void
+spiceterm_update_watch_mask(spiceTerm *vt, gboolean writable)
+{
+ g_assert(vt != NULL);
+
+ int mask = SPICE_WATCH_EVENT_READ;
+
+ if (writable) {
+ mask |= SPICE_WATCH_EVENT_WRITE;
+ }
+
+ vt->screen->core->watch_update_mask(vt->screen->mwatch, mask);
+}
+
static void
mouse_report(spiceTerm *vt, int butt, int mrx, int mry)
{
spiceterm_respond_esc(vt, buf);
- // fixme
- vt->screen->core->watch_update_mask(vt->screen->mwatch,
- SPICE_WATCH_EVENT_READ|SPICE_WATCH_EVENT_WRITE);
-
+ spiceterm_update_watch_mask(vt, TRUE);
}
void
}
}
- vt->screen->core->watch_update_mask(vt->screen->mwatch,
- SPICE_WATCH_EVENT_READ|SPICE_WATCH_EVENT_WRITE);
+ spiceterm_update_watch_mask(vt, TRUE);
}
static uint8_t
write (master, vt->ibuf, vt->ibuf_count);
vt->ibuf_count = 0; // fixme: what if not all data written
}
- vt->screen->core->watch_update_mask(vt->screen->mwatch, SPICE_WATCH_EVENT_READ);
+ spiceterm_update_watch_mask(vt, FALSE);
}
}