Plumb Widget ownership up higher.
This commit is contained in:
@ -960,10 +960,12 @@ void Html_tag_open_button(DilloHtml *html, const char *tag, int tagsize)
|
||||
* but it caused 100% CPU usage.
|
||||
*/
|
||||
page = new Textblock (false, true);
|
||||
std::unique_ptr< Widget > page_unique;
|
||||
page_unique.reset( page );
|
||||
page->setStyle (html->backgroundStyle ());
|
||||
|
||||
ResourceFactory *factory = HT2LT(html)->getResourceFactory();
|
||||
Resource *resource = factory->createComplexButtonResource(page, true);
|
||||
Resource *resource = factory->createComplexButtonResource(std::move( page_unique ), true);
|
||||
embed = new Embed(resource);
|
||||
// a_Dw_button_set_sensitive (DW_BUTTON (button), FALSE);
|
||||
|
||||
@ -2043,10 +2045,12 @@ static Embed *Html_input_image(DilloHtml *html, const char *tag, int tagsize)
|
||||
// widget. Notice that the order of the casts matters, because
|
||||
// of multiple inheritance.
|
||||
dw::Image *dwi = (dw::Image*)(dw::core::ImgRenderer*)Image->img_rndr;
|
||||
std::unique_ptr< dw::core::Widget > dwi_unique;
|
||||
dwi_unique.reset( dwi );
|
||||
dwi->setStyle (html->backgroundStyle ());
|
||||
ResourceFactory *factory = HT2LT(html)->getResourceFactory();
|
||||
ComplexButtonResource *complex_b_r =
|
||||
factory->createComplexButtonResource(dwi, false);
|
||||
factory->createComplexButtonResource(std::move( dwi_unique ), false);
|
||||
button = new Embed(complex_b_r);
|
||||
HT2TB(html)->addWidget (button, html->style ());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user