]> granicus.if.org Git - vim/commitdiff
updated for version 7.0105
authorBram Moolenaar <Bram@vim.org>
Fri, 8 Jul 2005 22:19:11 +0000 (22:19 +0000)
committerBram Moolenaar <Bram@vim.org>
Fri, 8 Jul 2005 22:19:11 +0000 (22:19 +0000)
src/gui_w16.c
src/proto/gui_kde.pro

index 49703364235d7c38d20f4da2fdc6a39f02ab1573..2452ce360b5a352a2395a128d237388791ab4353 100644 (file)
@@ -802,7 +802,7 @@ gui_mch_show_popupmenu(vimmenu_T *menu)
 }
 
     void
-gui_make_popup(char_u *path_name)
+gui_make_popup(char_u *path_name, int mouse_pos)
 {
     vimmenu_T  *menu = gui_find_menu(path_name);
 
@@ -814,10 +814,18 @@ gui_make_popup(char_u *path_name)
        temp_p = GetDCOrg(s_hdc);
        p.x = LOWORD(temp_p);
        p.y = HIWORD(temp_p);
-       if (curwin!=NULL)
+       if (mouse_pos)
        {
-           p.x+= TEXT_X(W_WINCOL(curwin) + curwin->w_wcol +1);
-           p.y+= TEXT_Y(W_WINROW(curwin) + curwin->w_wrow +1);
+           int mx, my;
+
+           gui_mch_getmouse(&mx, &my);
+           p.x += mx;
+           p.y += my;
+       }
+       else if (curwin != NULL)
+       {
+           p.x += TEXT_X(W_WINCOL(curwin) + curwin->w_wcol + 1);
+           p.y += TEXT_Y(W_WINROW(curwin) + curwin->w_wrow + 1);
        }
        msg_scroll = FALSE;
        gui_mch_show_popupmenu_at(menu, (int)p.x, (int)p.y);
index 50671f44ed627f2686b12b4843a39b9c11486845..a72b358d4dce5ba398799adcb1684e2d4f1b23b6 100644 (file)
@@ -15,5 +15,5 @@ void gui_mch_show_popupmenu __ARGS((vimmenu_T *menu));
 void gui_mch_find_dialog __ARGS((exarg_T *eap));
 void gui_mch_replace_dialog __ARGS((exarg_T *eap));
 void ex_helpfind __ARGS((exarg_T *eap));
-void gui_make_popup __ARGS((char_u *path_name));
+void gui_make_popup __ARGS((char_u *path_name, int mouse_pos));
 /* vim: set ft=cpp : */