+void Inspector::process_started()
+{
+ gldbg.set_breakpoint(FUNC_GLXMAKECURRENT, BREAK_RETURN, this);
+ query_state = 1;
+}
+
+void Inspector::process_stopped(int reason)
+{
+ if((reason>>8)==3 && query_state==2)
+ {
+ GlPacket *pkt = packet_begin(FUNC_GLDQUERYLIMITS);
+ gldbg.send(pkt);
+ query_state = 0;
+ gldbg.resume_from_break(this);
+ }
+}
+
+void Inspector::gldBreak(void *user_data, unsigned short func, unsigned char flag)
+{
+ if(func==FUNC_GLXMAKECURRENT && flag==BREAK_RETURN)
+ ++reinterpret_cast<Inspector *>(user_data)->query_state;
+}
+