If the user's search term does not match anything in the gweather database, geocode-glib is used to perform an online search.
The fill_store() callback previously assumed that its 'user_data' parameter is a pointer both to a GisLocationEntry, and to a GtkEntry. This was true prior to the GTK 4 port since this widget was a subclass of GtkSearchEntry. Now, it is not.
Correct this type confusion and add checked casts. Add some debug output that was useful in testing this. Also clean up this code a little and fix a leak.