r4312 takkaria - in /trunk/hubbub: Makefile README build/Makefile.common
by netsurf@semichrome.net
Author: takkaria
Date: Sun Jun 8 17:02:06 2008
New Revision: 4312
URL: http://source.netsurf-browser.org?rev=4312&view=rev
Log:
Add a "coverage" target (like libcss) which runs lcov for nice-looking coverage statistics.
Modified:
trunk/hubbub/Makefile
trunk/hubbub/README
trunk/hubbub/build/Makefile.common
Modified: trunk/hubbub/Makefile
URL: http://source.netsurf-browser.org/trunk/hubbub/Makefile?rev=4312&r1=4311&...
==============================================================================
--- trunk/hubbub/Makefile (original)
+++ trunk/hubbub/Makefile Sun Jun 8 17:02:06 2008
@@ -13,6 +13,8 @@
PKGCONFIG := pkg-config
INSTALL := install
SED := sed
+LCOV := lcov
+GENHTML := genhtml
# Toolchain flags
WARNFLAGS := -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \
Modified: trunk/hubbub/README
URL: http://source.netsurf-browser.org/trunk/hubbub/README?rev=4312&r1=4311&r2...
==============================================================================
--- trunk/hubbub/README (original)
+++ trunk/hubbub/README Sun Jun 8 17:02:06 2008
@@ -21,8 +21,13 @@
Hubbub also requires the following libraries to be installed:
- + An iconv implementation (e.g. libiconv)
- + JSON-C (for the testcases) -- see json/README for further information
+ + An iconv implementation (e.g. libiconv)
+ + JSON-C (for the testcases) -- see json/README for further information
+
+ Hubbub can make use of the following, for debugging and testing purposes:
+
+ + gcov and lcov, for test coverage data
+
Compilation
-----------
@@ -39,6 +44,13 @@
$ make test
+ If you wish to see test coverage statistics, run:
+
+ $ make coverage
+
+ Then open the build/coverage/index.html file in a web browser.
+
+
API documentation
-----------------
Modified: trunk/hubbub/build/Makefile.common
URL: http://source.netsurf-browser.org/trunk/hubbub/build/Makefile.common?rev=...
==============================================================================
--- trunk/hubbub/build/Makefile.common (original)
+++ trunk/hubbub/build/Makefile.common Sun Jun 8 17:02:06 2008
@@ -11,6 +11,7 @@
TOP := $(CURDIR)
RELEASEDIR := build/Release
DEBUGDIR := build/Debug
+COVERAGEDIR := build/coverage
# List of items to delete on clean
ITEMS_CLEAN :=
@@ -48,8 +49,25 @@
test: debug $(TARGET_TESTS)
+coverage: clean
+ @$(LCOV) --directory . --zerocounters
+ @$(MAKE) test CFLAGS="$(CFLAGS) -fprofile-arcs -ftest-coverage" \
+ LDFLAGS="$(LDFLAGS) -lgcov"
+ @$(LCOV) --directory $(DEBUGDIR) --base-directory $(TOP) \
+ --capture --output-file $(COVERAGEDIR)/$(COMPONENT)_tmp.info
+ @$(LCOV) --extract $(COVERAGEDIR)/$(COMPONENT)_tmp.info "$(TOP)/src*" \
+ -o $(COVERAGEDIR)/$(COMPONENT).info
+ @$(RM) $(RMFLAGS) $(COVERAGEDIR)/$(COMPONENT)_tmp.info
+ @$(GENHTML) -o $(COVERAGEDIR) --num-spaces 2 \
+ $(COVERAGEDIR)/$(COMPONENT).info
+
+profile: clean
+ @$(MAKE) test CFLAGS="$(CFLAGS) -pg" LDFLAGS="-pg $(LDFLAGS)"
+
clean:
-@$(RM) $(RMFLAGS) $(ITEMS_CLEAN)
+ -@$(RM) $(RMFLAGS) gmon.out
+ -@$(RM) $(RMFLAGS) -r $(COVERAGEDIR)
-@$(RM) $(RMFLAGS) -r $(RELEASEDIR)
-@$(RM) $(RMFLAGS) -r $(DEBUGDIR)
-@$(RM) $(RMFLAGS) $(COMPONENT).a
@@ -63,6 +81,7 @@
setup:
@$(MKDIR) $(MKDIRFLAGS) $(RELEASEDIR)
@$(MKDIR) $(MKDIRFLAGS) $(DEBUGDIR)
+ @$(MKDIR) $(MKDIRFLAGS) $(COVERAGEDIR)
export: release
@$(MKDIR) $(MKDIRFLAGS) $(TOP)/dist/lib
15 years, 5 months
r4311 dynis - in /branches/dynis/netsurf: Makefile utils/config.h
by netsurf@semichrome.net
Author: dynis
Date: Sat Jun 7 20:30:59 2008
New Revision: 4311
URL: http://source.netsurf-browser.org?rev=4311&view=rev
Log:
Remove librosprite from Makefile and utils/config.h
Modified:
branches/dynis/netsurf/Makefile
branches/dynis/netsurf/utils/config.h
Modified: branches/dynis/netsurf/Makefile
URL: http://source.netsurf-browser.org/branches/dynis/netsurf/Makefile?rev=431...
==============================================================================
--- branches/dynis/netsurf/Makefile (original)
+++ branches/dynis/netsurf/Makefile Sat Jun 7 20:30:59 2008
@@ -167,10 +167,9 @@
-D_NETBSD_SOURCE \
$(WARNFLAGS) -I. -I../../libsprite/trunk/ -g $(OPT2FLAGS) \
$(shell $(PKG_CONFIG) --cflags libglade-2.0 gtk+-2.0 librsvg-2.0) \
- $(shell $(PKG_CONFIG) --cflags librosprite) \
$(shell xml2-config --cflags)
-GTKLDFLAGS := $(shell $(PKG_CONFIG) --cflags --libs libglade-2.0 gtk+-2.0 gthread-2.0 gmodule-2.0 librsvg-2.0 librosprite)
+GTKLDFLAGS := $(shell $(PKG_CONFIG) --cflags --libs libglade-2.0 gtk+-2.0 gthread-2.0 gmodule-2.0 librsvg-2.0)
CFLAGS += $(GTKCFLAGS)
LDFLAGS += $(GTKLDFLAGS) $(shell $(PKG_CONFIG) --libs lcms)
@@ -259,9 +258,7 @@
-D_POSIX_C_SOURCE=200112L \
-D_NETBSD_SOURCE \
$(WARNFLAGS) -I. -I../../libsprite/trunk/ -g $(OPT0FLAGS) \
- $(shell $(PKG_CONFIG) --cflags librosprite) \
$(shell xml2-config --cflags)
-LDFLAGS += $(shell $(PKG_CONFIG) --libs librosprite)
endif
$(OBJROOT)/created:
Modified: branches/dynis/netsurf/utils/config.h
URL: http://source.netsurf-browser.org/branches/dynis/netsurf/utils/config.h?r...
==============================================================================
--- branches/dynis/netsurf/utils/config.h (original)
+++ branches/dynis/netsurf/utils/config.h Sat Jun 7 20:30:59 2008
@@ -75,7 +75,7 @@
#else
/* We're likely to have a working mmap() */
#define WITH_MMAP
- #define WITH_NSSPRITE
+ /* #define WITH_NSSPRITE */
#if !defined(DEBUG_BUILD)
/* Use librsvg and Cairo for rendering SVG */
#define WITH_RSVG
15 years, 5 months
r4308 mikeL - /branches/mikeL/netsurf/gtk/res/netsurf.glade
by netsurf@semichrome.net
Author: mikeL
Date: Sat Jun 7 18:53:26 2008
New Revision: 4308
URL: http://source.netsurf-browser.org?rev=4308&view=rev
Log:
Changed 'Select All' menu item to stock
Modified:
branches/mikeL/netsurf/gtk/res/netsurf.glade
Modified: branches/mikeL/netsurf/gtk/res/netsurf.glade
URL: http://source.netsurf-browser.org/branches/mikeL/netsurf/gtk/res/netsurf....
==============================================================================
--- branches/mikeL/netsurf/gtk/res/netsurf.glade (original)
+++ branches/mikeL/netsurf/gtk/res/netsurf.glade Sat Jun 7 18:53:26 2008
@@ -227,12 +227,12 @@
</widget>
</child>
<child>
- <widget class="GtkMenuItem" id="select_all">
+ <widget class="GtkImageMenuItem" id="select_all">
<property name="visible">True</property>
<property name="tooltip" translatable="yes">Selects all text in the current browser window.</property>
- <property name="label" translatable="yes">_Select All</property>
- <property name="use_underline">True</property>
- <accelerator key="A" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+ <property name="label">gtk-select-all</property>
+ <property name="use_underline">True</property>
+ <property name="use_stock">True</property>
</widget>
</child>
<child>
@@ -330,9 +330,9 @@
<property name="visible">True</property>
<property name="label" translatable="yes">Zoom _in</property>
<property name="use_underline">True</property>
+ <accelerator key="plus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
+ <accelerator key="KP_Add" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<accelerator key="equal" modifiers="GDK_CONTROL_MASK" signal="activate"/>
- <accelerator key="KP_Add" modifiers="GDK_CONTROL_MASK" signal="activate"/>
- <accelerator key="plus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image564">
<property name="visible">True</property>
@@ -347,8 +347,8 @@
<property name="visible">True</property>
<property name="label" translatable="yes">_Normal size</property>
<property name="use_underline">True</property>
+ <accelerator key="0" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<accelerator key="KP_0" modifiers="GDK_CONTROL_MASK" signal="activate"/>
- <accelerator key="0" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image565">
<property name="visible">True</property>
@@ -363,8 +363,8 @@
<property name="visible">True</property>
<property name="label" translatable="yes">Zoom _out</property>
<property name="use_underline">True</property>
+ <accelerator key="minus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<accelerator key="KP_Subtract" modifiers="GDK_CONTROL_MASK" signal="activate"/>
- <accelerator key="minus" modifiers="GDK_CONTROL_MASK" signal="activate"/>
<child internal-child="image">
<widget class="GtkImage" id="image566">
<property name="visible">True</property>
@@ -802,17 +802,25 @@
<placeholder/>
</child>
<child>
- <widget class="GtkStatusbar" id="statusbar1">
- <property name="height_request">1</property>
- <property name="visible">True</property>
+ <widget class="GtkHSeparator" id="hseparator3">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVScrollbar" id="coreScrollVertical">
+ <property name="visible">True</property>
+ <property name="adjustment">0 0 100 1 10 0</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
- <property name="y_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
<child>
@@ -853,25 +861,17 @@
</packing>
</child>
<child>
- <widget class="GtkVScrollbar" id="coreScrollVertical">
- <property name="visible">True</property>
- <property name="adjustment">0 0 100 1 10 0</property>
+ <widget class="GtkStatusbar" id="statusbar1">
+ <property name="height_request">1</property>
+ <property name="visible">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkHSeparator" id="hseparator3">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="y_options">GTK_FILL</property>
+ <property name="y_options">GTK_SHRINK | GTK_FILL</property>
</packing>
</child>
</widget>
@@ -915,61 +915,34 @@
<property name="column_spacing">11</property>
<property name="row_spacing">10</property>
<child>
- <widget class="GtkLabel" id="labelLoginHost">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">moo.yoo.com</property>
+ <widget class="GtkEntry" id="entryLoginUser">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="text" translatable="yes">sesame</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="x_options">GTK_FILL</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label57">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Password</property>
+ <widget class="GtkEntry" id="entryLoginPass">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="visibility">False</property>
+ <property name="activates_default">True</property>
+ <property name="text" translatable="yes">opensesame</property>
</widget>
<packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="top_attach">3</property>
<property name="bottom_attach">4</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label56">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Username</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label54">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Host</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label55">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Realm</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
</packing>
</child>
<child>
@@ -987,34 +960,61 @@
</packing>
</child>
<child>
- <widget class="GtkEntry" id="entryLoginPass">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="visibility">False</property>
- <property name="activates_default">True</property>
- <property name="text" translatable="yes">opensesame</property>
+ <widget class="GtkLabel" id="label55">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Realm</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label54">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Host</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label56">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Username</property>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label57">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Password</property>
+ </widget>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="labelLoginHost">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">moo.yoo.com</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="entryLoginUser">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="has_focus">True</property>
- <property name="text" translatable="yes">sesame</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
+ <property name="x_options">GTK_FILL</property>
</packing>
</child>
</widget>
@@ -1347,15 +1347,54 @@
<property name="n_columns">2</property>
<property name="column_spacing">4</property>
<child>
- <widget class="GtkLabel" id="labelHistoryAddress">
+ <widget class="GtkLabel" id="label117">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Address</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label118">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Last visited</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label119">
+ <property name="visible">True</property>
+ <property name="xalign">1</property>
+ <property name="label" translatable="yes">Number of visits</property>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="labelHistoryVisits">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">http://netsurf.sf.net/</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property>
+ <property name="label" translatable="yes">2</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="y_options"></property>
</packing>
</child>
@@ -1375,54 +1414,15 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="labelHistoryVisits">
+ <widget class="GtkLabel" id="labelHistoryAddress">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">2</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_END</property>
+ <property name="label" translatable="yes">http://netsurf.sf.net/</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_MIDDLE</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label119">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Number of visits</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label118">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Last visited</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label117">
- <property name="visible">True</property>
- <property name="xalign">1</property>
- <property name="label" translatable="yes">Address</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
15 years, 5 months
r4307 adrianl - /trunk/netsurf/riscos/window.c
by netsurf@semichrome.net
Author: adrianl
Date: Sat Jun 7 18:39:09 2008
New Revision: 4307
URL: http://source.netsurf-browser.org?rev=4307&view=rev
Log:
Extended scroll wheel support (Select)
Modified:
trunk/netsurf/riscos/window.c
Modified: trunk/netsurf/riscos/window.c
URL: http://source.netsurf-browser.org/trunk/netsurf/riscos/window.c?rev=4307&...
==============================================================================
--- trunk/netsurf/riscos/window.c (original)
+++ trunk/netsurf/riscos/window.c Sat Jun 7 18:39:09 2008
@@ -276,7 +276,7 @@
window.scroll_outer = wimp_COLOUR_DARK_GREY;
window.scroll_inner = wimp_COLOUR_MID_LIGHT_GREY;
window.highlight_bg = wimp_COLOUR_CREAM;
- window.extra_flags = 0;
+ window.extra_flags = wimp_WINDOW_USE_EXTENDED_SCROLL_REQUEST;
window.extent.x0 = 0;
window.extent.y0 = -(window.visible.y1 - window.visible.y0);
window.extent.x1 = window.visible.x1 - window.visible.x0;
@@ -2632,14 +2632,21 @@
{
struct gui_window *g = ro_gui_window_lookup(scroll->w);
- if (g && ro_gui_shift_pressed() && g->bw->current_content) {
- float scale;
+ if (g && g->bw->current_content && ro_gui_shift_pressed()) {
+ /* extended scroll request with shift held down; change zoom */
+ float scale, inc;
+
+ if (scroll->ymin & 3)
+ inc = 0.02; /* RO5 sends the msg 5 times; don't ask my why */
+ else
+ inc = (1 << (ABS(scroll->ymin)>>2)) / 20.0F;
+
if (scroll->ymin > 0) {
- scale = g->bw->scale + 0.02;
+ scale = g->bw->scale + inc;
if (scale > scale_snap_to[SCALE_SNAP_TO_SIZE - 1])
scale = scale_snap_to[SCALE_SNAP_TO_SIZE - 1];
} else {
- scale = g->bw->scale - 0.02;
+ scale = g->bw->scale - inc;
if (scale < scale_snap_to[0])
scale = scale_snap_to[0];
}
@@ -2652,7 +2659,7 @@
if (g && g->toolbar)
y -= ro_gui_theme_toolbar_full_height(g->toolbar);
-
+
switch (scroll->xmin) {
case wimp_SCROLL_PAGE_LEFT:
scroll->xscroll -= x;
@@ -2667,9 +2674,10 @@
scroll->xscroll += x;
break;
default:
+ scroll->xscroll += (x * (scroll->xmin>>2)) >> 2;
break;
}
-
+
switch (scroll->ymin) {
case wimp_SCROLL_PAGE_UP:
scroll->yscroll += y;
@@ -2684,6 +2692,7 @@
scroll->yscroll -= y;
break;
default:
+ scroll->yscroll += (y * (scroll->ymin>>2)) >> 2;
break;
}
15 years, 5 months
r4306 mikeL - /branches/mikeL/netsurf/gtk/gtk_window.c
by netsurf@semichrome.net
Author: mikeL
Date: Sat Jun 7 18:00:55 2008
New Revision: 4306
URL: http://source.netsurf-browser.org?rev=4306&view=rev
Log:
Fixed regression where the state of the modifier keys would alternate as the mouse moved. Fixed bug that prevented drags from being registered if a modifier key was pressed
Modified:
branches/mikeL/netsurf/gtk/gtk_window.c
Modified: branches/mikeL/netsurf/gtk/gtk_window.c
URL: http://source.netsurf-browser.org/branches/mikeL/netsurf/gtk/gtk_window.c...
==============================================================================
--- branches/mikeL/netsurf/gtk/gtk_window.c (original)
+++ branches/mikeL/netsurf/gtk/gtk_window.c Sat Jun 7 18:00:55 2008
@@ -325,35 +325,35 @@
bool shift = event->state & GDK_SHIFT_MASK;
bool ctrl = event->state & GDK_CONTROL_MASK;
- switch (g->mouse->state) {
- case BROWSER_MOUSE_PRESS_1:
- /* Start button 1 drag */
- browser_window_mouse_click(g->bw, BROWSER_MOUSE_DRAG_1,
- event->x / g->bw->scale,
- event->y / g->bw->scale);
- /* Button 1 drag in progress */
- g->mouse->state = BROWSER_MOUSE_HOLDING_1;
- g->mouse->state |= BROWSER_MOUSE_DRAG_ON;
-
- if (shift) g->mouse->state |= BROWSER_MOUSE_MOD_1;
- if (ctrl) g->mouse->state |= BROWSER_MOUSE_MOD_2;
- break;
- case BROWSER_MOUSE_PRESS_2:
- /* Start button 2 drag */
- browser_window_mouse_click(g->bw, BROWSER_MOUSE_DRAG_2,
- event->x / g->bw->scale,
- event->y / g->bw->scale);
- /* Button 2 drag in progress */
- g->mouse->state = BROWSER_MOUSE_HOLDING_2;
- g->mouse->state |= BROWSER_MOUSE_DRAG_ON;
-
- if (shift) g->mouse->state |= BROWSER_MOUSE_MOD_1;
- if (ctrl) g->mouse->state |= BROWSER_MOUSE_MOD_2;
- break;
+ if (g->mouse->state & BROWSER_MOUSE_PRESS_1){
+ /* Start button 1 drag */
+ browser_window_mouse_click(g->bw, BROWSER_MOUSE_DRAG_1,
+ event->x / g->bw->scale,
+ event->y / g->bw->scale);
+ /* Button 1 drag in progress */
+ g->mouse->state = BROWSER_MOUSE_HOLDING_1;
+ g->mouse->state |= BROWSER_MOUSE_DRAG_ON;
+
+ if (shift) g->mouse->state |= BROWSER_MOUSE_MOD_1;
+ if (ctrl) g->mouse->state |= BROWSER_MOUSE_MOD_2;
+ }
+ else if (g->mouse->state & BROWSER_MOUSE_PRESS_2){
+ /* Start button 2 drag */
+ browser_window_mouse_click(g->bw, BROWSER_MOUSE_DRAG_2,
+ event->x / g->bw->scale,
+ event->y / g->bw->scale);
+ /* Button 2 drag in progress */
+ g->mouse->state = BROWSER_MOUSE_HOLDING_2;
+ g->mouse->state |= BROWSER_MOUSE_DRAG_ON;
+
+ if (shift) g->mouse->state |= BROWSER_MOUSE_MOD_1;
+ if (ctrl) g->mouse->state |= BROWSER_MOUSE_MOD_2;
}
/* Handle modifiers being removed */
- if (!shift) g->mouse->state ^= BROWSER_MOUSE_MOD_1;
- if (!ctrl) g->mouse->state ^= BROWSER_MOUSE_MOD_2;
+ if (g->mouse->state & BROWSER_MOUSE_MOD_1 && !shift)
+ g->mouse->state ^= BROWSER_MOUSE_MOD_1;
+ if (g->mouse->state & BROWSER_MOUSE_MOD_2 && !ctrl)
+ g->mouse->state ^= BROWSER_MOUSE_MOD_2;
browser_window_mouse_track(g->bw, g->mouse->state, event->x / g->bw->scale,
event->y / g->bw->scale);
15 years, 5 months
r4305 mikeL - in /branches/mikeL/netsurf/gtk: gtk_scaffolding.c gtk_selection.c
by netsurf@semichrome.net
Author: mikeL
Date: Sat Jun 7 17:48:01 2008
New Revision: 4305
URL: http://source.netsurf-browser.org?rev=4305&view=rev
Log:
Prevented gui_copy_to_clipboard from overwriting clipboard with a NULL string.
Modified:
branches/mikeL/netsurf/gtk/gtk_scaffolding.c
branches/mikeL/netsurf/gtk/gtk_selection.c
Modified: branches/mikeL/netsurf/gtk/gtk_scaffolding.c
URL: http://source.netsurf-browser.org/branches/mikeL/netsurf/gtk/gtk_scaffold...
==============================================================================
--- branches/mikeL/netsurf/gtk/gtk_scaffolding.c (original)
+++ branches/mikeL/netsurf/gtk/gtk_scaffolding.c Sat Jun 7 17:48:01 2008
@@ -454,7 +454,7 @@
struct gtk_scaffolding *gw = (struct gtk_scaffolding *)g;
struct browser_window *bw = nsgtk_get_browser_for_gui(gw->top_level);
- gui_copy_to_clipboard(bw->sel);
+ return gui_copy_to_clipboard(bw->sel);
}
MENUHANDLER(paste)
Modified: branches/mikeL/netsurf/gtk/gtk_selection.c
URL: http://source.netsurf-browser.org/branches/mikeL/netsurf/gtk/gtk_selectio...
==============================================================================
--- branches/mikeL/netsurf/gtk/gtk_selection.c (original)
+++ branches/mikeL/netsurf/gtk/gtk_selection.c Sat Jun 7 17:48:01 2008
@@ -67,9 +67,12 @@
{
current_selection = g_string_new(NULL);
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
- if (selection_traverse(s, copy_handler, NULL))
- gtk_clipboard_set_text (clipboard, current_selection->str, -1);
- return TRUE;
+ if (selection_traverse(s, copy_handler, NULL) && current_selection->len != 0){
+ gtk_clipboard_set_text (clipboard, current_selection->str, -1);
+ return TRUE;
+ }
+ else
+ return FALSE;
}
void gui_start_selection(struct gui_window *g)
@@ -82,7 +85,8 @@
char *text;
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
text = gtk_clipboard_wait_for_text (clipboard);
- browser_window_paste_text(g->bw, text,
+ if (text)
+ browser_window_paste_text(g->bw, text,
strlen(text), true);
}
15 years, 5 months
r4304 mikeL - /branches/mikeL/netsurf/gtk/gtk_window.c
by netsurf@semichrome.net
Author: mikeL
Date: Sat Jun 7 16:53:56 2008
New Revision: 4304
URL: http://source.netsurf-browser.org?rev=4304&view=rev
Log:
Fixed bug where click would be sent at the end of a button 2 drag (Thanks tlsa)
Modified:
branches/mikeL/netsurf/gtk/gtk_window.c
Modified: branches/mikeL/netsurf/gtk/gtk_window.c
URL: http://source.netsurf-browser.org/branches/mikeL/netsurf/gtk/gtk_window.c...
==============================================================================
--- branches/mikeL/netsurf/gtk/gtk_window.c (original)
+++ branches/mikeL/netsurf/gtk/gtk_window.c Sat Jun 7 16:53:56 2008
@@ -344,7 +344,7 @@
event->x / g->bw->scale,
event->y / g->bw->scale);
/* Button 2 drag in progress */
- g->mouse->state |= BROWSER_MOUSE_HOLDING_2;
+ g->mouse->state = BROWSER_MOUSE_HOLDING_2;
g->mouse->state |= BROWSER_MOUSE_DRAG_ON;
if (shift) g->mouse->state |= BROWSER_MOUSE_MOD_1;
15 years, 5 months