I'm working an webkit web browser. Currently I have a composite class that contains a webview and some widgets that get updated on some signals. The browser is not modeled around tabs but acts more like Emacs with the notion of buffers. This is accessible using GNU Guile scheme.
Currently I'm using a GList to hold all of the webview parent composite class and when I need to switch webviews I just reference the class with g_object_ref and then remove it from it's container, in this case a pane. And then add the webview parent container I'm switching to, to the pane.
This works well if I'm just switching out one webview. However when I start to add/switch more webviews eventually the webview stops painting or rendering. Most times I can get the webview to render if I reload the pages, though this is not ideal.
I'm hoping I'm going about this the right way? If there is a better way to design this please let me know. If this is OK what might be causing the webview to not render or how can I force it to render?