diff options
author | Jacek Antonelli | 2009-05-30 17:16:26 -0500 |
---|---|---|
committer | Jacek Antonelli | 2009-05-30 19:12:37 -0500 |
commit | 499afbab7be4c4136eea0e1897319c3ac4e9799d (patch) | |
tree | 95e9de524994eae69b0dd88b8c6608d5f45d030c /linden/indra/newview/llappviewerwin32.cpp | |
parent | Fixed end-of-line style for Info-Imprudence.plist. (diff) | |
parent | Second Life viewer sources 1.22.11 (diff) | |
download | meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.zip meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.gz meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.bz2 meta-impy-499afbab7be4c4136eea0e1897319c3ac4e9799d.tar.xz |
Merged SL 1.22.11 into Imprudence 1.1 RC2.
Conflicts:
linden/doc/contributions.txt
linden/indra/cmake/APR.cmake
linden/indra/cmake/CopyWinLibs.cmake
linden/indra/cmake/LLKDU.cmake (removed)
linden/indra/cmake/LLMedia.cmake
linden/indra/cmake/OPENAL.cmake
linden/indra/cmake/QuickTime.cmake (removed)
linden/indra/develop.py
linden/indra/lib/python/indra/base/llsd.py
linden/indra/lib/python/indra/util/fastest_elementtree.py
linden/indra/lib/python/indra/util/llmanifest.py
linden/indra/lib/python/indra/util/named_query.py
linden/indra/llaudio/CMakeLists.txt
linden/indra/llaudio/audioengine.cpp
linden/indra/llaudio/audioengine.h
linden/indra/llaudio/audioengine_fmod.cpp
linden/indra/llaudio/audioengine_fmod.h
linden/indra/llaudio/audioengine_openal.cpp
linden/indra/llaudio/audioengine_openal.h
linden/indra/llaudio/listener_openal.cpp
linden/indra/llaudio/listener_openal.h
linden/indra/llaudio/windgen.h
linden/indra/llcrashlogger/llcrashlogger.cpp
linden/indra/llmedia/llmediaimplgstreamer.cpp
linden/indra/llmedia/llmediaimplgstreamer_syms.cpp (removed)
linden/indra/llmedia/llmediaimplgstreamer_syms.h (removed)
linden/indra/llmessage/llcircuit.h
linden/indra/llrender/llgl.cpp
linden/indra/llrender/llrender.h
linden/indra/llui/llfloater.cpp
linden/indra/llui/lltexteditor.cpp
linden/indra/llwindow/llwindowsdl.cpp
linden/indra/mac_crash_logger/CMakeLists.txt
linden/indra/mac_updater/CMakeLists.txt
linden/indra/newview/CMakeLists.txt
linden/indra/newview/English.lproj/InfoPlist.strings
linden/indra/newview/Info-Imprudence.plist
linden/indra/newview/installers/windows/installer_template.nsi
linden/indra/newview/installers/windows/lang_de.nsi
linden/indra/newview/installers/windows/lang_en-us.nsi
linden/indra/newview/installers/windows/lang_ja.nsi
linden/indra/newview/installers/windows/lang_ko.nsi
linden/indra/newview/llappviewer.cpp
linden/indra/newview/llaudiosourcevo.cpp
linden/indra/newview/llfloaterabout.cpp
linden/indra/newview/llfloaterhtml.cpp
linden/indra/newview/llfloaterhtml.h
linden/indra/newview/llfloaterinspect.cpp
linden/indra/newview/llfloatersnapshot.cpp
linden/indra/newview/llpanelgeneral.cpp
linden/indra/newview/llpanelgeneral.h
linden/indra/newview/llpanellogin.cpp
linden/indra/newview/llpanelobject.cpp
linden/indra/newview/llurlhistory.cpp
linden/indra/newview/llviewermenu.cpp
linden/indra/newview/llviewernetwork.cpp
linden/indra/newview/llviewernetwork.h
linden/indra/newview/llviewerobject.cpp
linden/indra/newview/llviewerwindow.cpp
linden/indra/newview/llvoavatar.cpp
linden/indra/newview/res/viewerRes.rc
linden/indra/newview/skins/default/xui/de/floater_env_settings.xml
linden/indra/newview/skins/default/xui/de/floater_html.xml
linden/indra/newview/skins/default/xui/de/floater_inspect.xml
linden/indra/newview/skins/default/xui/de/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/de/floater_lagmeter.xml
linden/indra/newview/skins/default/xui/de/floater_lsl_guide.xml
linden/indra/newview/skins/default/xui/de/floater_url_entry.xml
linden/indra/newview/skins/default/xui/de/floater_water.xml
linden/indra/newview/skins/default/xui/de/mime_types.xml
linden/indra/newview/skins/default/xui/de/need_to_long.xml
linden/indra/newview/skins/default/xui/de/need_to_translate.xml
linden/indra/newview/skins/default/xui/de/need_to_update.xml
linden/indra/newview/skins/default/xui/de/panel_friends.xml
linden/indra/newview/skins/default/xui/de/panel_media_remote_expanded.xml
linden/indra/newview/skins/default/xui/de/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/de/panel_voice_controls.xml
linden/indra/newview/skins/default/xui/de/panel_voice_enable.xml
linden/indra/newview/skins/default/xui/de/panel_voice_options.xml
linden/indra/newview/skins/default/xui/de/strings.xml
linden/indra/newview/skins/default/xui/en-us/floater_chat_history.xml
linden/indra/newview/skins/default/xui/en-us/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/en-us/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/en-us/floater_lagmeter.xml
linden/indra/newview/skins/default/xui/en-us/menu_pie_object.xml
linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
linden/indra/newview/skins/default/xui/en-us/panel_audio_device.xml
linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
linden/indra/newview/skins/default/xui/en-us/panel_preferences_input.xml
linden/indra/newview/skins/default/xui/en-us/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/en-us/panel_voice_remote.xml
linden/indra/newview/skins/default/xui/en-us/panel_voice_remote_expanded.xml
linden/indra/newview/skins/default/xui/es/alerts.xml
linden/indra/newview/skins/default/xui/es/floater_about_land.xml
linden/indra/newview/skins/default/xui/es/floater_mute.xml
linden/indra/newview/skins/default/xui/es/menu_viewer.xml
linden/indra/newview/skins/default/xui/es/panel_group_land_money.xml
linden/indra/newview/skins/default/xui/es/panel_preferences_general.xml
linden/indra/newview/skins/default/xui/fr/alerts.xml
linden/indra/newview/skins/default/xui/fr/floater_about.xml
linden/indra/newview/skins/default/xui/fr/floater_about_land.xml
linden/indra/newview/skins/default/xui/fr/floater_active_speakers.xml
linden/indra/newview/skins/default/xui/fr/floater_animation_preview.xml
linden/indra/newview/skins/default/xui/fr/floater_avatar_picker.xml
linden/indra/newview/skins/default/xui/fr/floater_avatar_textures.xml
linden/indra/newview/skins/default/xui/fr/floater_buy_contents.xml
linden/indra/newview/skins/default/xui/fr/floater_buy_currency.xml
linden/indra/newview/skins/default/xui/fr/floater_buy_land.xml
linden/indra/newview/skins/default/xui/fr/floater_buy_object.xml
linden/indra/newview/skins/default/xui/fr/floater_chat_history.xml
linden/indra/newview/skins/default/xui/fr/floater_color_picker.xml
linden/indra/newview/skins/default/xui/fr/floater_customize.xml
linden/indra/newview/skins/default/xui/fr/floater_directory.xml
linden/indra/newview/skins/default/xui/fr/floater_env_settings.xml
linden/indra/newview/skins/default/xui/fr/floater_god_tools.xml
linden/indra/newview/skins/default/xui/fr/floater_group_info.xml
linden/indra/newview/skins/default/xui/fr/floater_hardware_settings.xml
linden/indra/newview/skins/default/xui/fr/floater_html.xml
linden/indra/newview/skins/default/xui/fr/floater_image_preview.xml
linden/indra/newview/skins/default/xui/fr/floater_import.xml
linden/indra/newview/skins/default/xui/fr/floater_instant_message.xml
linden/indra/newview/skins/default/xui/fr/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/fr/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/fr/floater_inventory.xml
linden/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml
linden/indra/newview/skins/default/xui/fr/floater_inventory_view_finder.xml
linden/indra/newview/skins/default/xui/fr/floater_joystick.xml
linden/indra/newview/skins/default/xui/fr/floater_lagmeter.xml
linden/indra/newview/skins/default/xui/fr/floater_land_holdings.xml
linden/indra/newview/skins/default/xui/fr/floater_lsl_guide.xml
linden/indra/newview/skins/default/xui/fr/floater_media_browser.xml
linden/indra/newview/skins/default/xui/fr/floater_moveview.xml
linden/indra/newview/skins/default/xui/fr/floater_mute.xml
linden/indra/newview/skins/default/xui/fr/floater_mute_object.xml
linden/indra/newview/skins/default/xui/fr/floater_name_description.xml
linden/indra/newview/skins/default/xui/fr/floater_new_outfit_dialog.xml
linden/indra/newview/skins/default/xui/fr/floater_openobject.xml
linden/indra/newview/skins/default/xui/fr/floater_pay.xml
linden/indra/newview/skins/default/xui/fr/floater_pay_object.xml
linden/indra/newview/skins/default/xui/fr/floater_preferences.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_animation.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_gesture.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_notecard.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_notecard_keep_discard.xml
linden/indra/newview/skins/default/xui/fr/floater_preview_sound.xml
linden/indra/newview/skins/default/xui/fr/floater_price_for_listing.xml
linden/indra/newview/skins/default/xui/fr/floater_region_info.xml
linden/indra/newview/skins/default/xui/fr/floater_report_abuse.xml
linden/indra/newview/skins/default/xui/fr/floater_report_bug.xml
linden/indra/newview/skins/default/xui/fr/floater_script_ed_panel.xml
linden/indra/newview/skins/default/xui/fr/floater_sell_land.xml
linden/indra/newview/skins/default/xui/fr/floater_settings_debug.xml
linden/indra/newview/skins/default/xui/fr/floater_skin_preview_template.xml
linden/indra/newview/skins/default/xui/fr/floater_snapshot.xml
linden/indra/newview/skins/default/xui/fr/floater_sound_preview.xml
linden/indra/newview/skins/default/xui/fr/floater_telehub.xml
linden/indra/newview/skins/default/xui/fr/floater_texture_ctrl.xml
linden/indra/newview/skins/default/xui/fr/floater_tools.xml
linden/indra/newview/skins/default/xui/fr/floater_top_objects.xml
linden/indra/newview/skins/default/xui/fr/floater_url_entry.xml
linden/indra/newview/skins/default/xui/fr/floater_windlight_options.xml
linden/indra/newview/skins/default/xui/fr/floater_world_map.xml
linden/indra/newview/skins/default/xui/fr/menu_inventory.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_land.xml
linden/indra/newview/skins/default/xui/fr/menu_pie_self.xml
linden/indra/newview/skins/default/xui/fr/menu_viewer.xml
linden/indra/newview/skins/default/xui/fr/mime_types.xml
linden/indra/newview/skins/default/xui/fr/notify.xml
linden/indra/newview/skins/default/xui/fr/panel_audio.xml
linden/indra/newview/skins/default/xui/fr/panel_audio_device.xml
linden/indra/newview/skins/default/xui/fr/panel_avatar.xml
linden/indra/newview/skins/default/xui/fr/panel_avatar_classified.xml
linden/indra/newview/skins/default/xui/fr/panel_chat_bar.xml
linden/indra/newview/skins/default/xui/fr/panel_classified.xml
linden/indra/newview/skins/default/xui/fr/panel_event.xml
linden/indra/newview/skins/default/xui/fr/panel_friends.xml
linden/indra/newview/skins/default/xui/fr/panel_group.xml
linden/indra/newview/skins/default/xui/fr/panel_group_finder.xml
linden/indra/newview/skins/default/xui/fr/panel_group_general.xml
linden/indra/newview/skins/default/xui/fr/panel_group_invite.xml
linden/indra/newview/skins/default/xui/fr/panel_group_land_money.xml
linden/indra/newview/skins/default/xui/fr/panel_group_notices.xml
linden/indra/newview/skins/default/xui/fr/panel_group_roles.xml
linden/indra/newview/skins/default/xui/fr/panel_group_voting.xml
linden/indra/newview/skins/default/xui/fr/panel_groups.xml
linden/indra/newview/skins/default/xui/fr/panel_login.xml
linden/indra/newview/skins/default/xui/fr/panel_master_volume.xml
linden/indra/newview/skins/default/xui/fr/panel_media_controls.xml
linden/indra/newview/skins/default/xui/fr/panel_media_remote.xml
linden/indra/newview/skins/default/xui/fr/panel_media_remote_expanded.xml
linden/indra/newview/skins/default/xui/fr/panel_overlaybar.xml
linden/indra/newview/skins/default/xui/fr/panel_place.xml
linden/indra/newview/skins/default/xui/fr/panel_place_small.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_audio.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_chat.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_general.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_graphics1.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_im.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_input.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_network.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_popups.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/fr/panel_preferences_web.xml
linden/indra/newview/skins/default/xui/fr/panel_region_covenant.xml
linden/indra/newview/skins/default/xui/fr/panel_region_debug.xml
linden/indra/newview/skins/default/xui/fr/panel_region_estate.xml
linden/indra/newview/skins/default/xui/fr/panel_region_general.xml
linden/indra/newview/skins/default/xui/fr/panel_region_terrain.xml
linden/indra/newview/skins/default/xui/fr/panel_scrolling_param.xml
linden/indra/newview/skins/default/xui/fr/panel_speaker_controls.xml
linden/indra/newview/skins/default/xui/fr/panel_status_bar.xml
linden/indra/newview/skins/default/xui/fr/panel_toolbar.xml
linden/indra/newview/skins/default/xui/fr/panel_voice_controls.xml
linden/indra/newview/skins/default/xui/fr/panel_voice_enable.xml
linden/indra/newview/skins/default/xui/fr/panel_voice_options.xml
linden/indra/newview/skins/default/xui/fr/panel_voice_remote_expanded.xml
linden/indra/newview/skins/default/xui/fr/role_actions.xml
linden/indra/newview/skins/default/xui/fr/strings.xml
linden/indra/newview/skins/default/xui/ja/floater_hardware_settings.xml
linden/indra/newview/skins/default/xui/ja/floater_inspect.xml
linden/indra/newview/skins/default/xui/ja/floater_instant_message_group.xml
linden/indra/newview/skins/default/xui/ja/floater_lsl_guide.xml
linden/indra/newview/skins/default/xui/ja/floater_media_browser.xml
linden/indra/newview/skins/default/xui/ja/floater_mute_object.xml
linden/indra/newview/skins/default/xui/ja/floater_url_entry.xml
linden/indra/newview/skins/default/xui/ja/need_to_long.xml
linden/indra/newview/skins/default/xui/ja/need_to_translate.xml
linden/indra/newview/skins/default/xui/ja/need_to_update.xml
linden/indra/newview/skins/default/xui/ja/panel_audio.xml
linden/indra/newview/skins/default/xui/ja/panel_groups.xml
linden/indra/newview/skins/default/xui/ja/panel_preferences_voice.xml
linden/indra/newview/skins/default/xui/ja/panel_preferences_web.xml
linden/indra/newview/skins/default/xui/ja/strings.xml
linden/indra/newview/skins/default/xui/ko/need_to_long.xml
linden/indra/newview/skins/default/xui/ko/need_to_translate.xml
linden/indra/newview/skins/default/xui/ko/need_to_update.xml
linden/indra/newview/skins/default/xui/pt/alerts.xml
linden/indra/newview/skins/default/xui/pt/floater_about.xml
linden/indra/newview/skins/default/xui/pt/floater_about_land.xml
linden/indra/newview/skins/default/xui/pt/floater_animation_preview.xml
linden/indra/newview/skins/default/xui/pt/floater_avatar_picker.xml
linden/indra/newview/skins/default/xui/pt/floater_avatar_textures.xml
linden/indra/newview/skins/default/xui/pt/floater_build_options.xml
linden/indra/newview/skins/default/xui/pt/floater_buy_contents.xml
linden/indra/newview/skins/default/xui/pt/floater_buy_currency.xml
linden/indra/newview/skins/default/xui/pt/floater_buy_land.xml
linden/indra/newview/skins/default/xui/pt/floater_buy_object.xml
linden/indra/newview/skins/default/xui/pt/floater_chat_history.xml
linden/indra/newview/skins/default/xui/pt/floater_color_picker.xml
linden/indra/newview/skins/default/xui/pt/floater_customize.xml
linden/indra/newview/skins/default/xui/pt/floater_directory.xml
linden/indra/newview/skins/default/xui/pt/floater_gesture.xml
linden/indra/newview/skins/default/xui/pt/floater_html.xml
linden/indra/newview/skins/default/xui/pt/floater_im.xml
linden/indra/newview/skins/default/xui/pt/floater_image_preview.xml
linden/indra/newview/skins/default/xui/pt/floater_instant_message.xml
linden/indra/newview/skins/default/xui/pt/floater_instant_message_ad_hoc.xml
linden/indra/newview/skins/default/xui/pt/floater_inventory.xml
linden/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml
linden/indra/newview/skins/default/xui/pt/floater_joystick.xml
linden/indra/newview/skins/default/xui/pt/floater_land_holdings.xml
linden/indra/newview/skins/default/xui/pt/floater_live_lsleditor.xml
linden/indra/newview/skins/default/xui/pt/floater_mute.xml
linden/indra/newview/skins/default/xui/pt/floater_new_outfit_dialog.xml
linden/indra/newview/skins/default/xui/pt/floater_openobject.xml
linden/indra/newview/skins/default/xui/pt/floater_pay.xml
linden/indra/newview/skins/default/xui/pt/floater_pay_object.xml
linden/indra/newview/skins/default/xui/pt/floater_postcard.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_animation.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_gesture.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_notecard.xml
linden/indra/newview/skins/default/xui/pt/floater_preview_notecard_keep_discard.xml
linden/indra/newview/skins/default/xui/pt/floater_report_abuse.xml
linden/indra/newview/skins/default/xui/pt/floater_report_bug.xml
linden/indra/newview/skins/default/xui/pt/floater_script_debug.xml
linden/indra/newview/skins/default/xui/pt/floater_script_ed_panel.xml
linden/indra/newview/skins/default/xui/pt/floater_snapshot.xml
linden/indra/newview/skins/default/xui/pt/floater_texture_ctrl.xml
linden/indra/newview/skins/default/xui/pt/floater_tools.xml
linden/indra/newview/skins/default/xui/pt/floater_top_objects.xml
linden/indra/newview/skins/default/xui/pt/floater_tos.xml
linden/indra/newview/skins/default/xui/pt/floater_world_map.xml
linden/indra/newview/skins/default/xui/pt/menu_inventory.xml
linden/indra/newview/skins/default/xui/pt/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/pt/menu_viewer.xml
linden/indra/newview/skins/default/xui/pt/notify.xml
linden/indra/newview/skins/default/xui/pt/panel_avatar.xml
linden/indra/newview/skins/default/xui/pt/panel_avatar_classified.xml
linden/indra/newview/skins/default/xui/pt/panel_chat_bar.xml
linden/indra/newview/skins/default/xui/pt/panel_classified.xml
linden/indra/newview/skins/default/xui/pt/panel_event.xml
linden/indra/newview/skins/default/xui/pt/panel_group_general.xml
linden/indra/newview/skins/default/xui/pt/panel_group_invite.xml
linden/indra/newview/skins/default/xui/pt/panel_group_land_money.xml
linden/indra/newview/skins/default/xui/pt/panel_group_notices.xml
linden/indra/newview/skins/default/xui/pt/panel_group_roles.xml
linden/indra/newview/skins/default/xui/pt/panel_group_voting.xml
linden/indra/newview/skins/default/xui/pt/panel_login.xml
linden/indra/newview/skins/default/xui/pt/panel_overlaybar.xml
linden/indra/newview/skins/default/xui/pt/panel_place.xml
linden/indra/newview/skins/default/xui/pt/panel_place_small.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_audio.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_chat.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_general.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_graphics1.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_im.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_input.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_network.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_popups.xml
linden/indra/newview/skins/default/xui/pt/panel_preferences_web.xml
linden/indra/newview/skins/default/xui/pt/panel_region_covenant.xml
linden/indra/newview/skins/default/xui/pt/panel_region_debug.xml
linden/indra/newview/skins/default/xui/pt/panel_region_estate.xml
linden/indra/newview/skins/default/xui/pt/panel_region_general.xml
linden/indra/newview/skins/default/xui/pt/panel_status_bar.xml
linden/indra/newview/skins/default/xui/pt/panel_toolbar.xml
linden/indra/newview/skins/default/xui/pt/teleport_strings.xml
linden/indra/newview/skins/default/xui/zh/floater_account_history.xml
linden/indra/newview/skins/default/xui/zh/floater_god_tools.xml
linden/indra/newview/skins/default/xui/zh/floater_html.xml
linden/indra/newview/skins/default/xui/zh/floater_inspect.xml
linden/indra/newview/skins/default/xui/zh/floater_inventory_view_finder.xml
linden/indra/newview/skins/default/xui/zh/floater_preferences.xml
linden/indra/newview/skins/default/xui/zh/floater_sell_land.xml
linden/indra/newview/skins/default/xui/zh/floater_settings_debug.xml
linden/indra/newview/skins/default/xui/zh/menu_pie_attachment.xml
linden/indra/newview/skins/default/xui/zh/menu_pie_avatar.xml
linden/indra/newview/skins/default/xui/zh/menu_pie_land.xml
linden/indra/newview/skins/default/xui/zh/menu_pie_object.xml
linden/indra/newview/skins/default/xui/zh/menu_pie_self.xml
linden/indra/newview/skins/default/xui/zh/menu_viewer.xml
linden/indra/newview/skins/default/xui/zh/need_to_translate.xml
linden/indra/newview/skins/default/xui/zh/panel_account_details.xml
linden/indra/newview/skins/default/xui/zh/panel_account_planning.xml
linden/indra/newview/skins/default/xui/zh/panel_account_transactions.xml
linden/indra/newview/skins/default/xui/zh/panel_avatar.xml
linden/indra/newview/skins/default/xui/zh/panel_group.xml
linden/indra/newview/skins/default/xui/zh/panel_group_finder.xml
linden/indra/newview/skins/default/xui/zh/panel_group_general.xml
linden/indra/newview/skins/default/xui/zh/panel_group_invite.xml
linden/indra/newview/skins/default/xui/zh/panel_group_land_money.xml
linden/indra/newview/skins/default/xui/zh/panel_group_notices.xml
linden/indra/newview/skins/default/xui/zh/panel_group_roles.xml
linden/indra/newview/skins/default/xui/zh/panel_group_voting.xml
linden/indra/newview/skins/default/xui/zh/panel_preferences_audio.xml
linden/indra/newview/skins/default/xui/zh/panel_preferences_chat.xml
linden/indra/newview/skins/default/xui/zh/panel_preferences_im.xml
linden/indra/newview/skins/default/xui/zh/panel_preferences_popups.xml
linden/indra/newview/skins/default/xui/zh/panel_region_covenant.xml
linden/indra/newview/skins/default/xui/zh/strings.xml
linden/indra/newview/skins/default/xui/zh/strings_long.xml
linden/indra/newview/skins/silver/xui/en-us/floater_about_land.xml
linden/indra/newview/skins/silver/xui/en-us/panel_status_bar.xml
linden/indra/newview/viewer_manifest.py
linden/indra/win_updater/updater.cpp
linden/install.xml
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llappviewerwin32.cpp | 131 |
1 files changed, 106 insertions, 25 deletions
diff --git a/linden/indra/newview/llappviewerwin32.cpp b/linden/indra/newview/llappviewerwin32.cpp index 9f37534..b68cad6 100644 --- a/linden/indra/newview/llappviewerwin32.cpp +++ b/linden/indra/newview/llappviewerwin32.cpp | |||
@@ -4,7 +4,7 @@ | |||
4 | * | 4 | * |
5 | * $LicenseInfo:firstyear=2007&license=viewergpl$ | 5 | * $LicenseInfo:firstyear=2007&license=viewergpl$ |
6 | * | 6 | * |
7 | * Copyright (c) 2007-2008, Linden Research, Inc. | 7 | * Copyright (c) 2007-2009, Linden Research, Inc. |
8 | * | 8 | * |
9 | * Second Life Viewer Source Code | 9 | * Second Life Viewer Source Code |
10 | * The source code in this file ("Source Code") is provided by Linden Lab | 10 | * The source code in this file ("Source Code") is provided by Linden Lab |
@@ -64,7 +64,7 @@ | |||
64 | 64 | ||
65 | #include "llcommandlineparser.h" | 65 | #include "llcommandlineparser.h" |
66 | 66 | ||
67 | //*FIX:Mani - This hack is to fix a linker issue with libndofdev.lib | 67 | // *FIX:Mani - This hack is to fix a linker issue with libndofdev.lib |
68 | // The lib was compiled under VS2005 - in VS2003 we need to remap assert | 68 | // The lib was compiled under VS2005 - in VS2003 we need to remap assert |
69 | #ifdef LL_DEBUG | 69 | #ifdef LL_DEBUG |
70 | #ifdef LL_MSVC7 | 70 | #ifdef LL_MSVC7 |
@@ -77,12 +77,15 @@ extern "C" { | |||
77 | #endif | 77 | #endif |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | const std::string LLAppViewerWin32::sWindowClass = "Second Life"; | ||
81 | |||
80 | LONG WINAPI viewer_windows_exception_handler(struct _EXCEPTION_POINTERS *exception_infop) | 82 | LONG WINAPI viewer_windows_exception_handler(struct _EXCEPTION_POINTERS *exception_infop) |
81 | { | 83 | { |
82 | // *NOTE:Mani - this code is stolen from LLApp, where its never actually used. | 84 | // *NOTE:Mani - this code is stolen from LLApp, where its never actually used. |
83 | 85 | //OSMessageBox("Attach Debugger Now", "Error", OSMB_OK); | |
84 | // Translate the signals/exceptions into cross-platform stuff | 86 | // Translate the signals/exceptions into cross-platform stuff |
85 | // Windows implementation | 87 | // Windows implementation |
88 | _tprintf( _T("Entering Windows Exception Handler...\n") ); | ||
86 | llinfos << "Entering Windows Exception Handler..." << llendl; | 89 | llinfos << "Entering Windows Exception Handler..." << llendl; |
87 | 90 | ||
88 | // Make sure the user sees something to indicate that the app crashed. | 91 | // Make sure the user sees something to indicate that the app crashed. |
@@ -90,7 +93,9 @@ LONG WINAPI viewer_windows_exception_handler(struct _EXCEPTION_POINTERS *excepti | |||
90 | 93 | ||
91 | if (LLApp::isError()) | 94 | if (LLApp::isError()) |
92 | { | 95 | { |
96 | _tprintf( _T("Got another fatal signal while in the error handler, die now!\n") ); | ||
93 | llwarns << "Got another fatal signal while in the error handler, die now!" << llendl; | 97 | llwarns << "Got another fatal signal while in the error handler, die now!" << llendl; |
98 | |||
94 | retval = EXCEPTION_EXECUTE_HANDLER; | 99 | retval = EXCEPTION_EXECUTE_HANDLER; |
95 | return retval; | 100 | return retval; |
96 | } | 101 | } |
@@ -119,7 +124,28 @@ LONG WINAPI viewer_windows_exception_handler(struct _EXCEPTION_POINTERS *excepti | |||
119 | return retval; | 124 | return retval; |
120 | } | 125 | } |
121 | 126 | ||
127 | // Create app mutex creates a unique global windows object. | ||
128 | // If the object can be created it returns true, otherwise | ||
129 | // it returns false. The false result can be used to determine | ||
130 | // if another instance of a second life app (this vers. or later) | ||
131 | // is running. | ||
132 | // *NOTE: Do not use this method to run a single instance of the app. | ||
133 | // This is intended to help debug problems with the cross-platform | ||
134 | // locked file method used for that purpose. | ||
135 | bool create_app_mutex() | ||
136 | { | ||
137 | bool result = true; | ||
138 | LPCWSTR unique_mutex_name = L"SecondLifeAppMutex"; | ||
139 | HANDLE hMutex; | ||
140 | hMutex = CreateMutex(NULL, TRUE, unique_mutex_name); | ||
141 | if(GetLastError() == ERROR_ALREADY_EXISTS) | ||
142 | { | ||
143 | result = false; | ||
144 | } | ||
145 | return result; | ||
146 | } | ||
122 | 147 | ||
148 | //#define DEBUGGING_SEH_FILTER 1 | ||
123 | #if DEBUGGING_SEH_FILTER | 149 | #if DEBUGGING_SEH_FILTER |
124 | # define WINMAIN DebuggingWinMain | 150 | # define WINMAIN DebuggingWinMain |
125 | #else | 151 | #else |
@@ -146,6 +172,10 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, | |||
146 | 172 | ||
147 | viewer_app_ptr->setErrorHandler(LLAppViewer::handleViewerCrash); | 173 | viewer_app_ptr->setErrorHandler(LLAppViewer::handleViewerCrash); |
148 | 174 | ||
175 | // Set a debug info flag to indicate if multiple instances are running. | ||
176 | bool found_other_instance = !create_app_mutex(); | ||
177 | gDebugInfo["FoundOtherInstanceAtStartup"] = LLSD::Boolean(found_other_instance); | ||
178 | |||
149 | bool ok = viewer_app_ptr->init(); | 179 | bool ok = viewer_app_ptr->init(); |
150 | if(!ok) | 180 | if(!ok) |
151 | { | 181 | { |
@@ -195,6 +225,16 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, | |||
195 | } | 225 | } |
196 | delete viewer_app_ptr; | 226 | delete viewer_app_ptr; |
197 | viewer_app_ptr = NULL; | 227 | viewer_app_ptr = NULL; |
228 | |||
229 | //start updater | ||
230 | if(LLAppViewer::sUpdaterInfo) | ||
231 | { | ||
232 | _spawnl(_P_NOWAIT, LLAppViewer::sUpdaterInfo->mUpdateExePath.c_str(), LLAppViewer::sUpdaterInfo->mUpdateExePath.c_str(), LLAppViewer::sUpdaterInfo->mParams.str().c_str(), NULL); | ||
233 | |||
234 | delete LLAppViewer::sUpdaterInfo ; | ||
235 | LLAppViewer::sUpdaterInfo = NULL ; | ||
236 | } | ||
237 | |||
198 | return 0; | 238 | return 0; |
199 | } | 239 | } |
200 | 240 | ||
@@ -324,6 +364,17 @@ bool LLAppViewerWin32::cleanup() | |||
324 | return result; | 364 | return result; |
325 | } | 365 | } |
326 | 366 | ||
367 | bool LLAppViewerWin32::initLogging() | ||
368 | { | ||
369 | // Remove the crash stack log from previous executions. | ||
370 | // Since we've started logging a new instance of the app, we can assume | ||
371 | // *NOTE: This should happen before the we send a 'previous instance froze' | ||
372 | // crash report, but it must happen after we initialize the DirUtil. | ||
373 | LLWinDebug::clearCrashStacks(); | ||
374 | |||
375 | return LLAppViewer::initLogging(); | ||
376 | } | ||
377 | |||
327 | void LLAppViewerWin32::initConsole() | 378 | void LLAppViewerWin32::initConsole() |
328 | { | 379 | { |
329 | // pop up debug console | 380 | // pop up debug console |
@@ -405,7 +456,7 @@ bool LLAppViewerWin32::initHardwareTest() | |||
405 | LLSplashScreen::update(splash_msg.str()); | 456 | LLSplashScreen::update(splash_msg.str()); |
406 | } | 457 | } |
407 | 458 | ||
408 | if (!LLWinDebug::checkExceptionHandler()) | 459 | if (!restoreErrorTrap()) |
409 | { | 460 | { |
410 | LL_WARNS("AppInit") << " Someone took over my exception handler (post hardware probe)!" << LL_ENDL; | 461 | LL_WARNS("AppInit") << " Someone took over my exception handler (post hardware probe)!" << LL_ENDL; |
411 | } | 462 | } |
@@ -445,39 +496,69 @@ bool LLAppViewerWin32::initParseCommandLine(LLCommandLineParser& clp) | |||
445 | return true; | 496 | return true; |
446 | } | 497 | } |
447 | 498 | ||
499 | bool LLAppViewerWin32::restoreErrorTrap() | ||
500 | { | ||
501 | return LLWinDebug::checkExceptionHandler(); | ||
502 | } | ||
503 | |||
448 | void LLAppViewerWin32::handleSyncCrashTrace() | 504 | void LLAppViewerWin32::handleSyncCrashTrace() |
449 | { | 505 | { |
450 | // do nothing | 506 | // do nothing |
451 | } | 507 | } |
452 | 508 | ||
453 | void LLAppViewerWin32::handleCrashReporting() | 509 | void LLAppViewerWin32::handleCrashReporting(bool reportFreeze) |
454 | { | 510 | { |
455 | // Windows only behaivor. Spawn win crash reporter. | 511 | const char* logger_name = "win_crash_logger.exe"; |
456 | std::string exe_path = gDirUtilp->getAppRODataDir(); | 512 | std::string exe_path = gDirUtilp->getExecutableDir(); |
457 | exe_path += gDirUtilp->getDirDelimiter(); | 513 | exe_path += gDirUtilp->getDirDelimiter(); |
458 | exe_path += "win_crash_logger.exe"; | 514 | exe_path += logger_name; |
459 | 515 | ||
460 | std::string arg_string = "-user "; | 516 | const char* arg_str = logger_name; |
461 | arg_string += LLViewerLogin::getInstance()->getGridLabel(); | 517 | |
462 | 518 | // *NOTE:Mani - win_crash_logger.exe no longer parses command line options. | |
463 | S32 cb = gCrashSettings.getS32(CRASH_BEHAVIOR_SETTING); | 519 | if(reportFreeze) |
464 | switch(cb) | ||
465 | { | 520 | { |
466 | case CRASH_BEHAVIOR_ASK: | 521 | // Spawn crash logger. |
467 | default: | 522 | // NEEDS to wait until completion, otherwise log files will get smashed. |
468 | arg_string += " -dialog "; | 523 | _spawnl(_P_WAIT, exe_path.c_str(), arg_str, NULL); |
469 | _spawnl(_P_NOWAIT, exe_path.c_str(), exe_path.c_str(), arg_string.c_str(), NULL); | ||
470 | break; | ||
471 | |||
472 | case CRASH_BEHAVIOR_ALWAYS_SEND: | ||
473 | _spawnl(_P_NOWAIT, exe_path.c_str(), exe_path.c_str(), arg_string.c_str(), NULL); | ||
474 | break; | ||
475 | |||
476 | case CRASH_BEHAVIOR_NEVER_SEND: | ||
477 | break; | ||
478 | } | 524 | } |
525 | else | ||
526 | { | ||
527 | S32 cb = gCrashSettings.getS32(CRASH_BEHAVIOR_SETTING); | ||
528 | if(cb != CRASH_BEHAVIOR_NEVER_SEND) | ||
529 | { | ||
530 | _spawnl(_P_NOWAIT, exe_path.c_str(), arg_str, NULL); | ||
531 | } | ||
532 | } | ||
533 | } | ||
534 | |||
535 | //virtual | ||
536 | bool LLAppViewerWin32::sendURLToOtherInstance(const std::string& url) | ||
537 | { | ||
538 | wchar_t window_class[256]; /* Flawfinder: ignore */ // Assume max length < 255 chars. | ||
539 | mbstowcs(window_class, sWindowClass.c_str(), 255); | ||
540 | window_class[255] = 0; | ||
541 | // Use the class instead of the window name. | ||
542 | HWND other_window = FindWindow(window_class, NULL); | ||
543 | |||
544 | if (other_window != NULL) | ||
545 | { | ||
546 | lldebugs << "Found other window with the name '" << getWindowTitle() << "'" << llendl; | ||
547 | COPYDATASTRUCT cds; | ||
548 | const S32 SLURL_MESSAGE_TYPE = 0; | ||
549 | cds.dwData = SLURL_MESSAGE_TYPE; | ||
550 | cds.cbData = url.length() + 1; | ||
551 | cds.lpData = (void*)url.c_str(); | ||
552 | |||
553 | LRESULT msg_result = SendMessage(other_window, WM_COPYDATA, NULL, (LPARAM)&cds); | ||
554 | lldebugs << "SendMessage(WM_COPYDATA) to other window '" | ||
555 | << getWindowTitle() << "' returned " << msg_result << llendl; | ||
556 | return true; | ||
557 | } | ||
558 | return false; | ||
479 | } | 559 | } |
480 | 560 | ||
561 | |||
481 | std::string LLAppViewerWin32::generateSerialNumber() | 562 | std::string LLAppViewerWin32::generateSerialNumber() |
482 | { | 563 | { |
483 | char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore | 564 | char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore |