On Mon, Jan 18, 2016 at 10:48:57AM -0800, Jason Gerecke wrote:
> The 'last_type' variable within 'get_actions' stores the type of the last
> action encountered. When dealing with "key" or "button" actions, we use
> that information to determine if we need to print out the action prefix
> or not (if the type hasn't changed, its safe to leave the prefix out).
> 
> For some reason, this variable was marked as 'static', which causes it
> to retain its value across invocations. The function is only called once
> for any given button, meaning that we improperly retain the "last_type"
> across buttons. If the last action on a button is of e.g. type "key" and
> the first action of the next button is as well, then the "key" prefix
> will be missing from the printed output of that second button's actions.
> Making this variable non-static fixes this issue and ensures each run
> of the function is independent.
> 
> Signed-off-by: Jason Gerecke <jason.gere...@wacom.com>
> ---
>  tools/xsetwacom.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c
> index c1fec71..3374d58 100644
> --- a/tools/xsetwacom.c
> +++ b/tools/xsetwacom.c
> @@ -1981,7 +1981,7 @@ static int get_actions(Display *dpy, XDevice *dev,
>  
>       for (i = 0; i < nitems; i++)
>       {
> -             static int last_type;
> +             int last_type = 0;

yes to the removal of static, but don't you need to move it out of the loop
then? the point of last_type is that it retains the value of data[i-1] for
comparison. If you remove the static, you can't be guaranteed of that.

Cheers,
   Peter

>               unsigned long action = data[i];
>               int current_type;
>               int detail;
> -- 
> 2.7.0

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to