summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGreg Ercolano <erco@seriss.com>2011-10-20 05:02:53 +0000
committerGreg Ercolano <erco@seriss.com>2011-10-20 05:02:53 +0000
commitbabac0847488e0c63c5c496af92f988f7aadaf00 (patch)
treec7027e80c6380f67a5177971d40aae4e111dd390 /src
parent31489f1f0da9c629e032b68e86d630343b2ba73b (diff)
1) Fix STR#2742.
2) Fix fl_eventnames[] debugging stuff. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Table.cxx17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/Fl_Table.cxx b/src/Fl_Table.cxx
index afd3cd97f..0a152d17d 100644
--- a/src/Fl_Table.cxx
+++ b/src/Fl_Table.cxx
@@ -684,9 +684,9 @@ int Fl_Table::move_cursor(int R, int C) {
// #define DEBUG 1
#ifdef DEBUG
-#include "eventnames.h"
+#include <FL/names.h>
#define PRINTEVENT \
-fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnames[event]);
+ fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), fl_eventnames[event]);
#else
#define PRINTEVENT
#endif
@@ -695,14 +695,19 @@ fprintf(stderr,"Table %s: ** Event: %s --\n", (label()?label():"none"), eventnam
int Fl_Table::handle(int event) {
PRINTEVENT;
int ret = Fl_Group::handle(event); // let FLTK group handle events first
- if (ret) {
- if (Fl::event_inside(hscrollbar) || Fl::event_inside(vscrollbar)) return 1;
- if (Fl::focus() != this && contains(Fl::focus())) return 1;
- }
// Which row/column are we over?
int R, C; // row/column being worked on
ResizeFlag resizeflag; // which resizing area are we over? (0=none)
TableContext context = cursor2rowcol(R, C, resizeflag);
+ if (ret) {
+ if (Fl::event_inside(hscrollbar) || Fl::event_inside(vscrollbar)) return 1;
+ if ( context != CONTEXT_ROW_HEADER && // mouse not in row header (STR#2742)
+ context != CONTEXT_COL_HEADER && // mouse not in col header (STR#2742)
+ Fl::focus() != this && // we don't have focus?
+ contains(Fl::focus())) { // focus is a child?
+ return 1;
+ }
+ }
switch ( event ) {
case FL_PUSH:
if (Fl::event_button() == 1 && !Fl::event_clicks()) {