cyberslak
/lightsout
/amendments
/4
slider: port handling
cyberslak made amendment 4 about 1 month ago
--- slider.c Fri Mar 7 14:39:43 2025
+++ slider.c Sun Mar 9 23:18:04 2025
@@ -21,8 +21,12 @@ slider_proc(short varCode, ControlHandle ctl,
IndicatorDragConstraint *dragConstraint;
static short topDistance, botDistance;
short vertOff, horzOff, valueDelta;
+ GrafPtr oldPort;
+ long retval = 0;
+
+ GetPort(&oldPort);
+ SetPort((**ctl).contrlOwner);
-
recalc:
trackRect = (**ctl).contrlRect;
trackFilledRect = trackRect;
@@ -58,9 +62,9 @@ recalc:
pt.v = HiWord(param);
pt.h = LoWord(param);
if (PtInRect(pt, &dragRect))
- return 129;
+ retval = 129;
else if (PtInRect(pt, &trackRect))
- return 1;
+ retval = 1;
break;
case thumbCntl:
dragConstraint = (IndicatorDragConstraint*)param;
@@ -98,5 +102,8 @@ recalc:
default:
break;
}
- return 0;
+
+ SetPort(oldPort);
+
+ return retval;
}