# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: D:\JavaFX\repos\openjdk-openjfx-8u-dev\rt # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: modules/graphics/src/main/java/com/sun/glass/ui/monocle/LinuxStatefulMultiTouchProcessor.java --- modules/graphics/src/main/java/com/sun/glass/ui/monocle/LinuxStatefulMultiTouchProcessor.java +++ modules/graphics/src/main/java/com/sun/glass/ui/monocle/LinuxStatefulMultiTouchProcessor.java @@ -55,6 +55,11 @@ // touch points are released. boolean allPointsReleased = false; while (buffer.hasNextEvent()) { + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("currentID = " + currentID); + System.out.println("currentSlot = " + currentSlot); + System.out.println("slotToIDMap = " + slotToIDMap); + } switch (buffer.getEventType()) { case LinuxInput.EV_ABS: { int value = transform.getValue(buffer); @@ -75,8 +80,15 @@ break; case LinuxInput.ABS_MT_TRACKING_ID: if (value == ID_UNASSIGNED && currentID != ID_UNASSIGNED) { + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("removePointForID state before = " + state); + } state.removePointForID(currentID); + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("removePointForID state after = " + state); + System.out.println("removePointForID currentID = " + currentID + ", x = " + x + ", y = " + y); } + } currentID = value; if (currentID == ID_UNASSIGNED) { slotToIDMap.remove(currentSlot); @@ -118,7 +130,14 @@ if (currentID != ID_UNASSIGNED) { if (x == COORD_UNDEFINED && y == COORD_UNDEFINED) { + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("removePointForID state before = " + state); + } state.removePointForID(currentID); + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("removePointForID state before = " + state); + System.out.println("removePointForID currentID = " + currentID + ", x = " + x + ", y = " + y); + } currentID = ID_UNASSIGNED; } else { updatePoint(x, y); @@ -135,9 +154,22 @@ // coordinates to the current ID. updatePoint(x, y); } else if (allPointsReleased) { + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("clear state before = " + state); + } state.clear(); + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("clear state after = " + state); + System.out.println("clearAllPoints currentID = " + currentID + ", x = " + x + ", y = " + y); } + } + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("pushState state before = " + state); + } pipeline.pushState(state); + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("pushState state after = " + state); + } x = y = COORD_UNDEFINED; allPointsReleased = false; break; @@ -156,8 +188,19 @@ if (p == null) { p = new TouchState.Point(); p.id = currentID; + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("addPoint state before = " + state); + } p = state.addPoint(p); + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("addPoint state after = " + state); + System.out.println("addPoint p = " + p + ", currentID = " + currentID + ", x = " + x + ", y = " + y); } + } else { + if (MonocleSettings.settings.traceEventsVerbose) { + System.out.println("updatePoint p = " + p + ", currentID = " + currentID + ", x = " + x + ", y = " + y); + } + } if (x != COORD_UNDEFINED) { p.x = x; }