It might be the only solution, but I will investigate more before implementing it this way, because :
- it's ugly (as I said, it's a workaround, not a feature)
- it's very inconvenient to implement -- but I don't expect you to understand that, unless you've read the corresponding source code