From 6380f05cc5bb7d1ff0e8bfb194bde2b17805647a Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Tue, 5 Jul 2011 07:09:26 -0300 Subject: [PATCH] --- yaml --- r: 261458 b: refs/heads/master c: 639884a6d94ffa16d76b131a55f65748ca0c94f2 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/v4l2-ctrls.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 0c0024492af7..3cc4a1b07a7b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: adf41b9bc35a7406ead7875f66ee879dbd4cc308 +refs/heads/master: 639884a6d94ffa16d76b131a55f65748ca0c94f2 diff --git a/trunk/drivers/media/video/v4l2-ctrls.c b/trunk/drivers/media/video/v4l2-ctrls.c index 1f84b9676f10..0e8a28f37af9 100644 --- a/trunk/drivers/media/video/v4l2-ctrls.c +++ b/trunk/drivers/media/video/v4l2-ctrls.c @@ -712,10 +712,15 @@ static void new_to_cur(struct v4l2_fh *fh, struct v4l2_ctrl *ctrl, if (!is_cur_manual(ctrl->cluster[0])) ctrl->flags |= V4L2_CTRL_FLAG_INACTIVE; } - if (changed || update_inactive) + if (changed || update_inactive) { + /* If a control was changed that was not one of the controls + modified by the application, then send the event to all. */ + if (!ctrl->is_new) + fh = NULL; send_event(fh, ctrl, (changed ? V4L2_EVENT_CTRL_CH_VALUE : 0) | (update_inactive ? V4L2_EVENT_CTRL_CH_FLAGS : 0)); + } } /* Copy the current value to the new value */