Mercurial > vim
view src/gui_beval.h @ 9709:cce76af1cc6a v7.4.2130
commit https://github.com/vim/vim/commit/623e263ffb998acacd6fd0de18c44e03af2a47d1
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 30 22:47:56 2016 +0200
patch 7.4.2130
Problem: Pending timers cause false memory leak reports.
Solution: Free all timers on exit.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 30 Jul 2016 23:00:05 +0200 |
parents | 3456e2ebebd4 |
children | 4aead6a9b7a9 |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4: * * VIM - Vi IMproved by Bram Moolenaar * Visual Workshop integration by Gordon Prieur * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. */ #if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO)) #define GUI_BEVAL_H #ifdef FEAT_GUI_GTK # ifdef USE_GTK3 # include <gtk/gtk.h> # else # include <gtk/gtkwidget.h> # endif #else # if defined(FEAT_GUI_X11) # include <X11/Intrinsic.h> # endif #endif typedef enum { ShS_NEUTRAL, /* nothing showing or pending */ ShS_PENDING, /* data requested from debugger */ ShS_UPDATE_PENDING, /* switching information displayed */ ShS_SHOWING /* the balloon is being displayed */ } BeState; typedef struct BalloonEvalStruct { #ifdef FEAT_GUI_GTK GtkWidget *target; /* widget we are monitoring */ GtkWidget *balloonShell; GtkWidget *balloonLabel; unsigned int timerID; /* timer for run */ BeState showState; /* tells us whats currently going on */ int x; int y; unsigned int state; /* Button/Modifier key state */ #else # if !defined(FEAT_GUI_W32) Widget target; /* widget we are monitoring */ Widget balloonShell; Widget balloonLabel; XtIntervalId timerID; /* timer for run */ BeState showState; /* tells us whats currently going on */ XtAppContext appContext; /* used in event handler */ Position x; Position y; Position x_root; Position y_root; int state; /* Button/Modifier key state */ # else HWND target; HWND balloon; int x; int y; BeState showState; /* tells us whats currently going on */ # endif #endif int ts; /* tabstop setting for this buffer */ char_u *msg; void (*msgCB)(struct BalloonEvalStruct *, int); void *clientData; /* For callback */ #if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32) Dimension screen_width; /* screen width in pixels */ Dimension screen_height; /* screen height in pixels */ #endif } BalloonEval; #define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */ #define EVAL_OFFSET_Y 10 #include "gui_beval.pro" #endif /* GUI_BEVAL_H and FEAT_BEVAL */