<div dir="ltr">Hi Nyall,<div><br></div><div>Thanks for your suggestions. I followed the code that you pointed out. It's in this commit <a href="https://github.com/ismailsunni/QGIS/commit/2a4caa41e23edfe183055863cee84de60e7b71b9">https://github.com/ismailsunni/QGIS/commit/2a4caa41e23edfe183055863cee84de60e7b71b9</a></div><div><br></div><div>Unfortunately, it doesn't fix the problem. It still behaves exactly like the previous approach. Perhaps I missed something?</div><div><br></div><div>Best regards.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 15, 2019 at 1:19 AM Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com">nyall.dawson@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, 15 Aug 2019 at 03:56, Ismail Sunni <<a href="mailto:imajimatika@gmail.com" target="_blank">imajimatika@gmail.com</a>> wrote:<br>
<br>
> The billboard changes IF the previous billboard is not a symbol. But IF the previous billboard is a symbol, and I changed the symbol's properties (e.g. color, rotation, shape) the billboard stays the same.<br>
><br>
> In my latest code (pushed by now), I set the billboard to use an external image (the success-kid.png) if the symbol's color is white (for debugging purpose).<br>
><br>
> If I set the symbol to white, the billboard uses the success-kid as the billboard (no matter what is the previous billboard as expected).<br>
> If the previous symbol is the success-kid, then I changed the symbol's properties it will change as expected.<br>
> If the previous symbol is not the success-kid, then I changed the symbol's properties,  it won't change the billboard.<br>
><br>
> When I close QGIS and reopen it, the billboard will show as expected. So, I think it's not an issue in saving and restoring the symbol.<br>
<br>
Looking over your branch, I'm almost certain it is.<br>
<br>
Try using QgsSymbolLayerUtils::symbolProperties to save to symbol to a<br>
string (see <a href="https://github.com/qgis/QGIS/blob/master/src/core/callouts/qgscallout.cpp#L237" rel="noreferrer" target="_blank">https://github.com/qgis/QGIS/blob/master/src/core/callouts/qgscallout.cpp#L237</a><br>
)<br>
<br>
and something like<br>
<a href="https://github.com/qgis/QGIS/blob/master/src/core/callouts/qgscallout.cpp#L261" rel="noreferrer" target="_blank">https://github.com/qgis/QGIS/blob/master/src/core/callouts/qgscallout.cpp#L261</a><br>
to restore.<br>
<br>
Nyall<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">Ismail Sunni<br><div><a href="http://ismailsunni.wordpress.com" target="_blank">ismailsunni.wordpress.com</a></div></div>