diff --git a/addons/web/static/src/js/framework/dialog.js b/addons/web/static/src/js/framework/dialog.js index 1aedec82aff..b5e63834614 100644 --- a/addons/web/static/src/js/framework/dialog.js +++ b/addons/web/static/src/js/framework/dialog.js @@ -82,11 +82,12 @@ var Dialog = Widget.extend({ var $b = $(QWeb.render('WidgetButton', { widget : { string: text, node: { attrs: {'class': classes} }}})); $b.prop('disabled', b.disabled); $b.on('click', function(e) { + var click_def; if(b.click) { - b.click.call(self, e); + click_def = b.click.call(self, e); } if(b.close) { - self.close(); + $.when(click_def).always(self.close.bind(self)); } }); self.$footer.append($b);