A few functions in `gtk+' use something like const gpointer mem in their prototypes. Presumably it is supposed to mean that that the pointed-to memory will _not_ be modified through that pointer. Unfortunately, the above declaration doesn't do that. It just means that the variable `mem' will not be assigned to in the function body. In fact, `const' is ignored in the prototype of the function. This patch fixes that by 1. Introducing a new `const pointer' type typedef const void *g_const_pointer; 2. Replacing occurances of `const gpointer' with `g_const_pointer'. I just used a simple grep for `const gpointer', and may have missed usage with more whitespace &c. 3. Fixed a few unsafe conversions, using a couple of compile passes. Note that this analysis is _very_ incomplete, but should satisfy `gcc' for now. Other compilers could identify more of these, which can be handled on demand. In the meantime, someone should do a `const-correctness' audit (I'll do it once I have more time, and if nobody else does it before).