aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/byte_view_tab.h
AgeCommit message (Collapse)AuthorFilesLines
2023-06-11Qt: Fix PacketDialog secondary data sources crash after closing fileJohn Thacker1-0/+2
The first data source tvb associated with a packet is always freed, along with its data, at the same time as the associated pinfo->pool scoped data and the tree, if any, in epan_dissect_cleanup() or epan_dissect_reset(). Not so for secondary data sources; while the vast majority of data source tvbs are chained to the first data source and so also freed at the same time, and almost all of the others are never freed and just leak (sometimes because of an exception before being set as a child), it's not uncommon to have a tvb whose real data is at file scope, with the assumption that this will outlive any packet scope. (Note that the real data is not copied, for speed and memory usage.) This is, for example, how epan/reassemble.c works, with the data freed when a file is closed (although it is not managed by wmem.) When a PacketDialog persists after the capture file closes, this assumption is falsified. As we do not have a perfect way to detect the scope of the real data (we could introduce a function to check if the free_cb is NULL, which would be suggestive but not absolute), deep copy the data for secondary data sources when the parent PacketDialog indicates that the capture file is about to close. Also, avoid calling API functions thacker examine the real data. Looking at the offsets is OK, as proto_find_field_from_offset() does. While it could be possible to clone the data source tvbs located in edt->pi.data_src, the pointers would need to be updated in each of the field_infos in the edt's tree as well. Currently no dissectors (or other code) attach data source tvbs where the tvb itself, not just the real data, is freed with a file is closed. If they did, that could still cause a crash. Fix #14363
2021-11-30Add UI header files to DoxygenMoshe Kaplan1-1/+1
Add @file markers for UI header files so that Doxygen will generate documentation for them.
2021-09-13Qt: ByteView make hover configurableRoland Knall1-0/+1
Allow the hover selection to be either configured via context menu or by pressing the Ctrl key while moving the mouse. The configuration is stored via profile
2021-03-08Remove modelines in ui/qt.Gerald Combs1-13/+0
Remove the editor modeline blocks from most of the source files in ui/qt by running perl -i -p0e 's{ \n+ /[ *\n]+ editor \s+ modelines .* shiftwidth= .* \*/ \s+ } {\n}gsix' $( ag -g '\.(cpp|h)' ) then cleaning up the remaining files by hand. This *shouldn't* affect anyone since - All of the source files in ui/qt use 4 space indentation, which matches the default in our top-level .editorconfig - The one notable editor that's likely to be used on these files and *doesn't* support EditorConfig (Qt Creator) defaults to 4 space indentation.
2020-07-03Qt: Update ByteView recent settings on all tabsStig Bjørlykke1-0/+1
The ByteView recent settings are common for all tabs. Ensure all tabs are updated when display format or character encoding is changed. This fixes an issue where the row_width is wrong and the menu action checkmarks are out of sync after switching ByteView tab. Change-Id: Ied25ac41467143f37327ccadcb821262eb86ef0a Reviewed-on: https://code.wireshark.org/review/37655 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2019-11-21Qt: Remove frameSelect signalRoland Knall1-1/+1
As all frameSelect signals now transport a QList<int> of selected frames, use this instead Change-Id: I1888e45a4df997920aebde9706ca0ae803bdba03 Reviewed-on: https://code.wireshark.org/review/35176 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-05-01Fix comment end after SPDX identifierStig Bjørlykke1-1/+2
Move */ to a separate line below the SPDX identifier. Change-Id: Id1032215449cfccae0933147b45e04b65e0b727f Reviewed-on: https://code.wireshark.org/review/27211 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-14Qt: fix crash in packet dialog on changing selectionPeter Wu1-1/+5
"((capture_file_t *)cap_file_)->edt" is documented in cfile.h to cover the currently selected packet (in the packet list). But in the packet dialog, the packet selection is irrelevant and the data from a different dissection tree must be used. Change-Id: Ieaea3cf862d47540e7f6b6c84c1a2fa6945a877b Fixes: v2.5.0rc0-1532-g56a130a152 ("ByteViewText: Remove epan dependancy") Bug: 14246 Reviewed-on: https://code.wireshark.org/review/25437 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2018-02-08replace SPDX identifier GPL-2.0+ with GPL-2.0-or-later.Dario Lombardo1-1/+1
The first is deprecated, as per https://spdx.org/licenses/. Change-Id: I8e21e1d32d09b8b94b93a2dc9fbdde5ffeba6bed Reviewed-on: https://code.wireshark.org/review/25661 Petri-Dish: Anders Broman <a.broman58@gmail.com> Petri-Dish: Dario Lombardo <lomato@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-02-02Qt: use SPDX identifiers.Dario Lombardo1-14/+1
Change-Id: I111945c08f99818c249a868c12d9a7b3a3df64b3 Reviewed-on: https://code.wireshark.org/review/25563 Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-01-17Qt: ByteViewText hover fixes & updates.Gerald Combs1-4/+2
Add back field highlighting during hover. Instead of marking hovered bytes using an underline+overline, draw a border rect. Change-Id: I574dd074cfa021ac0dec3cdea6c5f9b0b4da6d0e Reviewed-on: https://code.wireshark.org/review/25348 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-18Qt: Properly reset the byteviewRoland Knall1-0/+2
Reset the byteview on every load of a capture file, and on every start/reset of a capture Change-Id: I0edd30ffddc64484bc6f009d99dfc6fc1a3ceb59 Reviewed-on: https://code.wireshark.org/review/24468 Reviewed-by: Roland Knall <rknall@gmail.com> Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-12Qt: Rename packetSelection to frameSelectedRoland Knall1-2/+1
In order to consolidate the interfaces between certain parts of the UI, the signal emitted after a frame change has occured, has to include the number of the frame. This led to two signals for frame change, and therefore packetSelection is to be removed. Change-Id: I24e0e0890291d2243935b0c48387beb66904bfa3 Reviewed-on: https://code.wireshark.org/review/24377 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2017-11-08Qt: Further cleanup ByteViewRoland Knall1-29/+15
This further separates ByteView and the rest of the system. Using FieldInformation and DataPrinter, this is the final cleanup of the ByteViewTab Change-Id: If41521167527cf5664c2564cdd0d45fea0f3f612 Reviewed-on: https://code.wireshark.org/review/22783 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2017-10-31ByteViewText: Remove epan dependancyRoland Knall1-17/+32
Remove all dependancy for the byte_view_text from the epan system, and therefore cleanly separate data and display for further separation of dissection and view Change-Id: Id1ee91b93da4511afa95f24da4cbbf39cbb89b1f Reviewed-on: https://code.wireshark.org/review/24050 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2016-09-15Qt: Option to copy bytes to clipboard as Escaped StringGilbert Ramirez1-1/+3
Some users need to copy the bytes to a Python script for sending out through a raw socket. While they can modify a plain hex dump, having Wireshark copy directly as a Python string makes their work easier. This format also works with Bash, so it is called "Escaped String". E.g.: "\x55\xb5\xd4\x67\x03" Change-Id: I0b6a5eb2e348f686397afda76095aaa2fb85c18d Reviewed-on: https://code.wireshark.org/review/17696 Petri-Dish: Gilbert Ramirez <gram@alumni.rice.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-07-30Packet list and detail context menu updates.Gerald Combs1-1/+15
Add some missing items to the packet list and detail "Copy" context menus. Don't nest the "Copy" items so deeply. Add YAML to the supported summary formats. Note that "Copy as Binary" copies to the clipboard as application/octet-stream, which is a) arguably correct, and b) not very useful. Fixes welcome. Enable and disable packet detail context menu items from a set of booleans similar to the packet list. Change-Id: Iaa931c766aa476c33f27de089e5c4dbaf9ce74d6 Ping-Bug: 9320 Bug: 10831 Reviewed-on: https://code.wireshark.org/review/9825 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-03-05Qt: Constify a bunch of strings.Gerald Combs1-1/+1
Change-Id: I601e429408fc042fc5b18a4750d40e260da47f43 Reviewed-on: https://code.wireshark.org/review/7535 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-10Qt/C++: Change a bunch of includes to forward declarations.Gerald Combs1-1/+3
In theory this this should reduce compilation times. On my particular system it makes no difference but hopefully it will elsewhere. Change-Id: I570177d3ca4eec691c82d46b4dbbce74092aac1d Reviewed-on: https://code.wireshark.org/review/7060 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-04Fix out-of-tree build includes of config.hGraham Bloice1-1/+1
If a file in the same directory as config.h, e.g. wireshark-qt.cpp has a #include "config.h", or another header it includes also has a #include "config.h", then an out-of-tree build, e.g. CMake will pick up any in-tree config.h and odd things may happen. The correct form is #include <config.h> which will pick up the out-of-tree version. To find this, introduce a deliberate error and then make an out-of-tree build, noting where it fails and fix that file. If that file includes other files that still cause the build to fail, set the compiler to emit the pre-processed version so you can locate the include with the next errant "config.h". Repeat ad nauseum. Possibly all includes of "config.h" should be changed to <config.h> Revert "CMake: Clobber the top-level config.h before we build." This reverts commit 1f3849ce614aeae5fda742beffe5558e7c2a8b71. Ping-Bug: 10301 Change-Id: Ie567e7cc696fd48f3e730fc27032c5d2a7d8f341 Reviewed-on: https://code.wireshark.org/review/6285 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-10-27Qt: ByteViewText hover information.Gerald Combs1-0/+1
When the user hovers over a byte view field, highlight it and show a description in the status bar. Add a "byte" status bar context and fix a label stack pop bug. Keep proto_find_field_from_offset from matching generated items. Otherwise hovering and selecting finds things like GeoIP entries and checksum validation information. This affects the GTK+ UI as well. Change-Id: Ic81c0d8159510a72d30c41f961807d8a48d05e16 Reviewed-on: https://code.wireshark.org/review/4943 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-09-23Qt: Add zoom and column resize actions.Gerald Combs1-0/+3
Plumb signals and slots for changing the text size in the main window. Remove the bold font code from WiresharkApplication. It was only used in ByteViewText. Adjust the icons a bit. Bug: When we change the font preferences the packet list stops drawing cached strings. I haven't been able to track down the cause. Change-Id: I609d740c9f26265628fa4b7de1b75b0e56651387 Reviewed-on: https://code.wireshark.org/review/4269 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2012-11-06Show the byte view when we select a packet. Update some method andGerald Combs1-0/+1
variable names. svn path=/trunk/; revision=45953
2012-10-30Update the Qt byte view widget to reflect the recent changes in the GTK+Gerald Combs1-1/+5
byte view. Move the packet_char_enc enum from packet.h to frame_data.h. Make the encoding flag a packet_char_enc and make it one bit. Get rid of the "cfile" global in a few places. C++-ize some of the font code. Clean up some variable names. svn path=/trunk/; revision=45838
2012-09-04Add modelines for Qtshark fileAlexis La Goutte1-0/+13
svn path=/trunk/; revision=44766
2012-06-28Update Free Software Foundation address.Jakub Zawadzki1-1/+1
(COPYING will be updated in next commit) svn path=/trunk/; revision=43536
2012-01-04Add initial support for Qt along with a "ui" subdirectory.Gerald Combs1-0/+56
svn path=/trunk/; revision=40378