Tue Jun 20 01:49:08 2000 George Lebl <jirka@5z.com>
* test/nautilus-leak-symbol-lookup.c
(nautilus_leak_symbol_map_get_offsets): Do the sscanf into a
gulong and then assign to the inode which is of type ino_t to avoid
#ifdefs or other hacks to make it work on alpha.
2000-06-18 Pavel <pavel@eazel.com>
* test/nautilus-leak-symbol-lookup.c:
(nautilus_leak_symbol_map_get_offsets):
Do a better 64-bit clean fix avoiding messy ifdefs.
Sun Jun 18 02:50:47 2000 George Lebl <jirka@5z.com>
* components/help/help-method.c (file_in_info_path):
s/g_str_freev/g_strfreev/ as that's the correct glib name
* components/help/hyperbola-main.c,
components/help/hyperbola-nav-index.c,
components/help/hyperbola-nav-search.c
components/help/hyperbola-nav-tree.c,
components/help/hyperbola-nav.h: Use hyperbola-nav.h as a header
to put the prototypes from the hyperbola-nav-*.c files. And
include this file in hyperbola-main.c and hyperbola-nav-*.c
* libnautilus-extensions/nautilus-global-preferences.c
(global_preferences_register_boolean_with_defaults)
(global_preferences_register_enum_with_defaults),
libnautilus-extensions/nautilus-preferences.c
(preferences_hash_node_check_changes_func)
(user_level_changed_callback):
use GU?INT_TO_POINTER and GPOINTER_TO_U?INT macros to get and pass
ints and uints as pointers.
* librsvg/rsvg-bpath-util.c, test/nautilus-leak-checker.c:
include <string.h>
* test/nautilus-leak-checker.c (nautilus_leak_record_malloc)
(nautilus_leak_record_realloc) (nautilus_leak_record_free)
(print_one_leak): Store pointers in gulongs not guints and
when printing size_t, cast to long and use %ld.
* test/nautilus-leak-symbol-lookup.c
(nautilus_leak_symbol_map_get_offsets): When reading in gint64,
check if long is actually 64bit, in which case use %lx otherwise
use %Lx for sscanf.
2000-06-15 JP Rosevear <jpr@arcavia.com>
* test/Makefile.am: Make sure that libleakcheck does not rely
on the /gnome prefix to build. Make sure libleakcheck is cleaned
and uninstalled properly.
2000-06-14 Pavel Cisler <pavel@eazel.com>
* test/Makefile.am:
* test/nautilus-leak-checker.c: (detect_reentry),
(nautilus_leak_record_malloc), (nautilus_leak_record_realloc),
(nautilus_leak_record_free), (allocate_temporary_fallback_memory),
(__libc_malloc), (__libc_memalign), (__libc_realloc),
(__libc_free), (malloc), (realloc), (memalign), (calloc), (free),
(main):
Fix problems in the reentry detection code that caused malloc/frees
sometimes getting counted twice.
Add reentry detection for malloc getting reentered as a result of
calling realloc.
2000-06-13 Pavel Cisler <pavel@eazel.com>
* test/Makefile.am:
Couldn't figure out how to build the leakchecker shared library
with libtool, added a simple link rule instead.
* test/nautilus-leak-symbol-lookup.c:
(nautilus_leak_find_symbol_in_map),
(nautilus_leak_symbol_map_get_offsets),
(nautilus_leak_symbol_map_load),
(nautilus_leak_symbol_map_load_if_needed),
(nautilus_leak_find_symbol_address),
(nautilus_leak_print_symbol_address):
Redo symbol lookup to work better in some cases.
* test/nautilus-leak-checker.c: (allocate_lots), (leak_mem2),
(leak_mem), (main):
tweaks to testing code.
There's still a long way to go.
* components/music/nautilus-music-view.c: (fetch_play_time),
(format_play_time), (fetch_song_info), (play_status_display),
(play_current_file), (nautilus_music_view_update_from_uri):
Changed the music view so it doesn't use NautilusFile any more
since it already has what it needs from gnome-vfs. There's still
the issue of sync. vs. async. for this component.
* libnautilus-extensions/Makefile.am:
* libnautilus-extensions/nautilus-stock-dialogs.c:
(nautilus_timed_wait_start), (nautilus_timed_wait_free),
(nautilus_timed_wait_stop):
* libnautilus-extensions/nautilus-stock-dialogs.h:
Started on something called nautilus_timed_wait that we need to
use when all our lines are busy. Checked it in since I'll be in
Palo Alto and don't want any non-checked-in changes.
* libnautilus-extensions/nautilus-background-canvas-group.c:
Added comments and removed some dead code.
* src/nautilus-window-menus.c: (uri_known_not_to_exist):
Rewrote this to use sync. I/O on local files instead of using
nautilus_file_get.
* test/.cvsignore: Ignore some of the new files in this directory.
2000-06-13 Pavel Cisler <pavel@eazel.com>
* test/nautilus-leak-checker-stubs.h:
* test/nautilus-leak-checker.c:
(nautilus_leak_allocation_record_init),
(nautilus_leak_allocation_record_copy),
(nautilus_leak_allocation_record_finalize),
(nautilus_leak_allocation_record_free),
(nautilus_leak_stack_crawl_compare), (nautilus_leak_initialize),
(get_stack_trace), (detect_reentry), (nautilus_leak_record_malloc),
(nautilus_leak_record_realloc), (nautilus_leak_record_free),
(nautilus_leak_initialize_if_needed), (__libc_malloc),
(__libc_memalign), (__libc_calloc), (__libc_realloc),
(__libc_free), (malloc), (realloc), (memalign), (calloc), (free),
(print_one_leak), (nautilus_leak_print_leaks),
(nautilus_leak_checker_init), (allocate_lots), (leak_mem2),
(leak_mem), (main):
* test/nautilus-leak-checker.h:
* test/nautilus-leak-hash-table.c:
(nautilus_leak_hash_element_finalize),
(nautilus_leak_hash_element_hash),
(nautilus_leak_hash_element_match),
(nautilus_leak_hash_element_vector_inititalize),
(nautilus_leak_hash_element_vector_finalize),
(nautilus_leak_hash_element_vector_at),
(nautilus_leak_hash_element_vector_add),
(nautilus_leak_hash_element_vector_remove),
(nautilus_leak_hash_table_optimal_size),
(nautilus_leak_hash_table_initialize),
(nautilus_leak_hash_table_finalize),
(nautilus_leak_hash_table_new), (nautilus_leak_hash_table_free),
(nautilus_leak_hash_table_hash), (nautilus_leak_hash_table_find),
(nautilus_leak_hash_table_add),
(nautilus_leak_hash_table_remove_element),
(nautilus_leak_hash_table_remove),
(nautilus_leak_table_new_entry_at),
(nautilus_leak_table_add_entry), (nautilus_leak_table_new),
(nautilus_leak_table_free), (sort_by_count),
(nautilus_leak_table_sort_by_count), (sort_by_size),
(nautilus_leak_table_sort_by_size),
(nautilus_leak_table_each_item):
* test/nautilus-leak-hash-table.h:
* test/nautilus-leak-symbol-lookup.c:
(nautilus_leak_find_symbol_in_map),
(nautilus_leak_symbol_map_load),
(nautilus_leak_symbol_map_load_if_needed),
(nautilus_leak_print_symbol_cleanup),
(nautilus_leak_find_symbol_address),
(nautilus_leak_print_symbol_address):
* test/nautilus-leak-symbol-lookup.h:
New small leakchecking library. It is a bit simpler than MemProf in that
it doesn't try to find leaks, just lists all the outstanding allocations
(which if done at application quit is a list of leaks). It borrows heavily
from MemProf.
* test/Makefile.am:
Currently broken makefile changes for the leakchecker library. Needs some
libtool wrestling that Ramiro kindly offered to help with.
* src/nautilus-main.c: (nautilus_leak_checker_init),
(nautilus_leak_print_leaks), (main):
Call the leakchecker. Noop unless the leakchecker lib is loaded with
Nautilus using the LD_PRELOAD variable (the only way of turning the
thing on/off).
* components/services/install/idl/.cvsignore:
* components/services/time/idl/.cvsignore:
Ignore some Makefile and Makefile.in files.
* data/linksets/Makefile.am:
* data/linksets/desktop.xml:
Added a link set for the trash on the desktop.
* icons/Makefile.am:
Added a trash icon (actually a copy of the Nautilus icon right
now :-).
* libnautilus-extensions/nautilus-link-set.h:
* libnautilus-extensions/nautilus-link-set.c: (create_new_link),
(nautilus_link_set_install), (nautilus_link_set_remove):
Fixed some URI-related issues and added a special case for the ~
character so we can have link sets that are for the home directory.
* libnautilus-extensions/nautilus-string.c:
(nautilus_str_capitalize): Got rid of the unneeded call to strlen.
strlen == 0 is the slowest way I know to check for an empty string.
Also check islower before calling toupper for paranoia like the
calls in glib do (internally).
* src/nautilus-desktop-window.c: (nautilus_desktop_window_new):
Install the desktop link set when we are created. For now this
installs the trash (in a fairly lame way).
* src/nautilus-property-browser.c: (remove_color),
(add_color_to_file), (make_properties_from_xml_node),
(nautilus_property_browser_update_contents):
Changed code to not reference "childs" directly so it's easy to
switch to a new version of gnome-xml.
* test/.cvsignore: Ignore test-nautilus-mime-actions-set.
* libnautilus-extensions/nautilus-directory-metafile.c:
(nautilus_directory_set_metadata_list): Added this function.
The guts was already there.
* test/.cvsignore: Ignore some newly generated files.
* libnautilus-extensions/nautilus-program-choosing.h,
libnautilus-extensions/nautilus-program-choosing.c:
(nautilus_launch_application): Take a GnomeVFSMimeApplication *
instead of a command string; add gnome-terminal -x
(nautilus_launch_application_from_command): Old version that takes
a command string renamed. Also, uses `system' instead of `execlp',
so command-line arguments in the command string work.
* libnautilus-extensions/nautilus-program-chooser.c
(launch_mime_capplet): Adjusted to conform.
* src/file-manager/fm-directory-view.c
(fm_directory_view_launch_application): Likewise.
* src/nautilus-sidebar.c: (command_button_callback,
nautilus_sidebar_chose_application_callback, add_command_buttons):
Likewise.
* test/test-nautilus-mime-actions.c (print_application): Show the
requires_terminal field for applications.
* libnautilus-extensions/nautilus-directory.h,
libnautilus-extensions/nautilus-directory.c:
(nautilus_directory_wait_until_ready): Non-asynchronous equivalent
of `nautilus_directory_call_when_ready'. However, it doesn't block
the UI while waiting.
(nautilus_directory_wait_until_ready_callback): Helper function
for implementing the above.
* libnautilus-extensions/nautilus-mime-actions.c:
(nautilus_mime_get_default_action_type_for_uri,
nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented with
fully with proper metadata checking and interface querying, etc.
(nautilus_mime_get_short_list_applications_for_uri,
nautilus_mime_get_short_list_components_for_uri,
nautilus_mime_get_all_applications_for_uri,
nautilus_mime_get_all_components_for_uri): Adjusted to deal with
the mime type checking function changing names.
(OAF_ServerInfo__copy, extract_prefix_add_suffix,
mime_type_get_supertype, uri_string_get_scheme),
get_explicit_content_view_iids_from_metafile,
make_oaf_query_for_explicit_content_view_iids,
make_oaf_query_with_known_mime_type,
make_oaf_query_with_uri_scheme_only,
file_list_to_mime_type_hash_table, free_key,
mime_type_hash_table_destroy, server_matches_content_requirements,
nautilus_do_component_query): Oodles of helper functions, many cut
& pasted from elswhere and only slightly modified.
get_mime_type_from_uri: Removed `_hack' from the name.
* libnautilus-extensions/nautilus-mime-actions.h: Added prototype
for nautilus_mime_get_default_action_type_for_uri.
* test/test-nautilus-mime-actions.c (main): Call gnome_init.
* src/nautilus-applicable-views.c: Removed a stray comment that no
longer applies.
* test/test-nautilus-mime-actions.c: Simple test program to check
_for_uri nautilus metadata calls in nautilus.
* test/Makefile.am: Build test-nautilus-mime-actions
* Makefile.am, configure.in: add test directory to the build.
* libnautilus-extensions/nautilus-mime-actions.c
(nautilus_mime_get_default_action_for_uri,
nautilus_mime_get_default_application_for_uri,
nautilus_mime_get_default_component_for_uri): Implemented in the
same temporary stub way as the other calls.