summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2013-09-11 00:10:59 +0200
committerOle Loots <ole@monochrom.net>2013-09-11 00:10:59 +0200
commitc04cef649a163c3131c8560d44fb3dd458929345 (patch)
tree3fbc0c7850b70d7a4394272d5f735e2135549ab7
parentbecc7fe064c2b22a32900a02aee1043fc349425d (diff)
downloadnetsurf-c04cef649a163c3131c8560d44fb3dd458929345.tar.gz
netsurf-c04cef649a163c3131c8560d44fb3dd458929345.tar.bz2
Also setup slider info before tree creation.
-rwxr-xr-xatari/treeview.c31
1 files changed, 20 insertions, 11 deletions
diff --git a/atari/treeview.c b/atari/treeview.c
index d03ff219a..8565484b6 100755
--- a/atari/treeview.c
+++ b/atari/treeview.c
@@ -279,13 +279,6 @@ NSTREEVIEW atari_treeview_create(uint32_t flags, GUIWIN *win,
gemtk_wm_set_event_handler(win, handle_event);
gemtk_wm_set_user_data(win, (void*)new);
- // now create a new netsurf tree:
- new->tree = tree_create(flags, &atari_tree_callbacks, new);
- if (new->tree == NULL) {
- free(new);
- return NULL;
- }
-
// Get acces to the gemtk scroll info struct:
slid = gemtk_wm_get_scroll_info(new->window);
@@ -294,6 +287,13 @@ NSTREEVIEW atari_treeview_create(uint32_t flags, GUIWIN *win,
slid->y_unit_px = 16;
slid->x_unit_px = 16;
+ // now create a new netsurf tree:
+ new->tree = tree_create(flags, &atari_tree_callbacks, new);
+ if (new->tree == NULL) {
+ free(new);
+ return NULL;
+ }
+
return(new);
}
@@ -301,7 +301,6 @@ void atari_treeview_open( NSTREEVIEW tv )
{
if( tv->window != NULL ) {
gemtk_wm_link(tv->window);
-
}
}
@@ -478,13 +477,23 @@ void atari_treeview_resized(struct tree *tree, int width, int height, void *pw)
tv->extent.x = width;
tv->extent.y = height;
+
struct gemtk_wm_scroll_info_s *slid = gemtk_wm_get_scroll_info(tv->window);
gemtk_wm_get_grect(tv->window, GEMTK_WM_AREA_CONTENT, &area);
- slid->x_units = (width/slid->x_unit_px);
- slid->y_units = (height/slid->y_unit_px);
+
+ if(width > -1) {
+ slid->x_units = (width/slid->x_unit_px);
+ gemtk_wm_update_slider(tv->window, GEMTK_WM_HSLIDER);
+ }
+
+ if(height > -1){
+ slid->y_units = (height/slid->y_unit_px);
+ gemtk_wm_update_slider(tv->window, GEMTK_WM_VSLIDER);
+ }
+
/*printf("units content: %d, units viewport: %d\n", (height/slid->y_unit_px),
(area.g_h/slid->y_unit_px));*/
- gemtk_wm_update_slider(tv->window, GEMTK_WM_VH_SLIDER);
+ //gemtk_wm_update_slider(tv->window, GEMTK_WM_VH_SLIDER);
}
}