Nikolay Sivov : comctl32/taskdialog: Initial implementation of a minimal task dialog.

Fabian Maurer dark.shadow4 at web.de
Wed Mar 22 19:40:20 CDT 2017


> Author: Nikolay Sivov <nsivov at codeweavers.com>
> Date:   Tue Mar 21 17:31:20 2017 +0300
> 
> comctl32/taskdialog: Initial implementation of a minimal task dialog.
> 
> Based on patches by Fabian Maurer.

Thanks for taking the time to rework it, really appreciate it!
However, there's a few questions I'd like to ask.

> static const WCHAR nulW;
Shouldn't this be set 0?

> if (radio_button) *radio_button = taskconfig->nDefaultButton;
This probably should have been changed, it was already wrong in the old 
implementation.

>    /* write control entries */
>    LIST_FOR_EACH_ENTRY_SAFE(control, control2, &desc.controls, struct 
taskdialog_control, entry)
 >   {
 >       ALIGN_POINTER(ptr, 3);
>
>        template_write_data(&ptr, control->template, control->template_size);
>
>        /* list item won't be needed later */
>        list_remove(&control->entry);
>        Free(control->template);
>        Free(control);
>    }
Wouldn't it be shorter to also use "taskdialog_clear_controls" here? Just 
curious on why you chose to write it again.

Also, wouldn't it make sense to keep the template generating code separated 
from the taskdialog specific bits? I intentionally split it, so we could use 
those function in another place, if needed. In my opinion, that also makes the 
code easier readable.

Finally, are you adding the rest from my latest patch-set too, or should I 
adapt the missing parts?

Regards,
Fabian Maurer




More information about the wine-devel mailing list