Author: greg.ercolano
Date: 2011-10-19 22:02:53 -0700 (Wed, 19 Oct 2011)
New Revision: 9142
Log:
1) Fix STR#2742.
2) Fix fl_eventnames[] debugging stuff.
Modified:
branches/branch-1.3/src/Fl_Table.cxx
Modified: branches/branch-1.3/src/Fl_Table.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Table.cxx 2011-10-19 17:05:03 UTC (rev
9141)
+++ branches/branch-1.3/src/Fl_Table.cxx 2011-10-20 05:02:53 UTC (rev
9142)
@@ -684,9 +684,9 @@
// #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 @@
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()) {
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit