<root>
<BugReport ID = "1">
<Title>"(495584) Firefox - search suggestions passes wrong previous result to form history"</Title>
<Turn>
<Date>'2009-05-29 20:32:54'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "1.1"> MattN noticed a problem with the WIP patch from bug 469443 applied.</Sentence>
<Sentence ID = "1.2"> When typing in the search box, sometimes search-suggestion entries would be displayed above the divider (where entries for previous matching searches are).</Sentence>
<Sentence ID = "1.3"> The problem here is that nsSearchSuggestions.js is passing the wrong previousResult to form history.</Sentence>
<Sentence ID = "1.4"> Instead of it being the previous form history search result, it's the SuggestAutoCompleteResult result (which contains the union of the form-history and search-suggest entries).</Sentence>
<Sentence ID = "1.5"> So, when form history refines its results as you time, it can actually add *more* entries as data leaks from the suggestions result into form history result, and it thus looks like the divider is being drawn in the wrong place.</Sentence>
<Sentence ID = "1.6"> This bug wasn't visible before 469443, because nsFormFillController::StartSearch tries to QI the provided result to a nsIAutoCompleteSimpleResult. </Sentence>
<Sentence ID = "1.7"> The search-suggestion result is only implements nsIAutoCompletResult (no \"Simple\"), so the QI fails, historyResult nee previousResult becomes null, and thus Satchel was doing a new search every time.</Sentence>
<Sentence ID = "1.8"> EG:</Sentence>
<Sentence ID = "1.9"> 1) type \"b\" in the search field.</Sentence>
<Sentence ID = "1.10"> 2) form history finds 1 entry (\"blah\"), search-suggestions finds \"baaa\", \"bloop\", \"bzzz\", the autocompete menu shows these in order with a divider between \"blah\" and \"baaa\".</Sentence>
<Sentence ID = "1.11"> 3) type an \"l\" in the search field (\"bl\")</Sentence>
<Sentence ID = "1.12"> 4) startHistorySearch()'s previous result contains [\"blah\", \"baaa\", \"bloop\", \"bzzz\"], Satchel filters this down to [\"blah\", \"bloop\"] to match the new \"bl\" search string</Sentence>
<Sentence ID = "1.13"> 5) nsSearchSuggestions's onReadyState() change is called with updated search suggestions, builds up a new list of results, but sees that the form history result now has *two* entries.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-29 20:37:31'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "2.1"> Created an attachment (id=380567) [details] Patch v.1 (WIP)</Sentence>
<Sentence ID = "2.2"> This fixes the problem, but isn't quite correct...</Sentence>
<Sentence ID = "2.3"> If you type \"a&amp;lt;backspace&amp;gt;b\", satchel trying to use the results from the \"a\" search for the \"b\" search, and so nothing is found. </Sentence>
<Sentence ID = "2.4"> I suspect nsSearchSuggestions needs to throw away the old form history result when the search string changes like this, but I'm not entirely sure it's responsible for doing so, maybe satchel should be smarter about throwing away a previous result when the previous result's search string doesn't have a common prefix.</Sentence>
<Sentence ID = "2.5"> [That seems to be handled somewhere else for normal form field entries, oddly enough.]</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-14 18:55:25'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "3.1"> Created an attachment (id=383211) [details] Patch v.2</Sentence>
<Sentence ID = "3.2"> Ah. So, there's a ._formHistoryResult in the SuggestAutoCompleteResult wrapper (used to combine form history with search suggestions), and also a ._formHistoryResult in SuggestAutoComplete (the service itself, used to hold onto a form history result until a search suggestion is available).</Sentence>
<Sentence ID = "3.3"> The simple fix it to just discard the service's form history result copy when startSearch() is called with a null previous result.</Sentence>
<Sentence ID = "3.4"> Otherwise it's trying to use a old form history result that no longer applies for the search string.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-19 12:07:34'</Date>
<From>'Gavin Sharp'</From>
<Text>
<Sentence ID = "4.1"> (From update of attachment 383211 [details])</Sentence>
<Sentence ID = "4.2"> Perhaps we should rename one of them to _fhResult just to reduce confusion?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-19 13:17:56'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "5.1"> (In reply to comment #3)</Sentence>
<Sentence ID = "5.2"> &amp;gt; (From update of attachment 383211 [details] [details])</Sentence>
<Sentence ID = "5.3"> &amp;gt; Perhaps we should rename one of them to _fhResult just to reduce confusion?</Sentence>
<Sentence ID = "5.4"> Good point.</Sentence>
<Sentence ID = "5.5"> I renamed the one in the wrapper to _formHistResult. </Sentence>
<Sentence ID = "5.6"> fhResult seemed maybe a bit too short.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-19 13:20:52'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "6.1"> Pushed http://hg.mozilla.org/mozilla-central/rev/097598383614</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "2">
<Title>"(449596) Firefox -  remove the browser.sessionstore.enabled pref "</Title>
<Turn>
<Date>'2008-08-07 07:22:12'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "1.1"> That pref was thought to be for extensions which wanted to completely replace our own Session Restore functionality.</Sentence>
<Sentence ID = "1.2"> While this has worked somehow for Tab Mix Plus, we've had several issues with people ending up both Session Restore and Tab Mix Plus disabled (see bug 435055 and its duplicates).</Sentence>
<Sentence ID = "1.3"> Furthermore, there are several code points which will also break when Session Restore has been disabled (such as the list of recently closed tabs).</Sentence>
<Sentence ID = "1.4"> Instead of adding try-catch-blocks wherever we use Session Restore, I'd much rather encourage extensions authors to override both nsSessionStartup and nsSessionStore to provide the same API with their own functionality (or implementing a dummy-API and making sure for themselves that they've correctly replaced all known consumers).</Sentence>
<Sentence ID = "1.5"> This would also make the lives of those other extension authors simpler who so far can't be too sure that the Session Store component actually works (through whatever implementation).</Sentence>
<Sentence ID = "1.6"> Note that privacy concerned users will still be able to disable writing to sessionstore.js through the browser.sessionstore.resume_from_crash pref.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-07 07:42:37'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "2.1"> Created an attachment (id=332726) [details] </Sentence>
<Sentence ID = "2.2"> remove the pref</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-13 11:37:55'</Date>
<From>'Nickolay Ponomarev '</From>
<Text>
<Sentence ID = "3.1"> (note: bug 448725 should be wontfixed if this is fixed)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-14 14:08:24'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "4.1"> Created an attachment (id=333820) [details]</Sentence>
<Sentence ID = "4.2"> remove (buggy) note from API comments</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-18 14:33:16'</Date>
<From>'Dietrich Ayala'</From>
<Text>
<Sentence ID = "5.1"> (From update of attachment 332726 [details])</Sentence>
<Sentence ID = "5.2"> a problem with this patch is that the session data is still stored in memory while the app is running, and by removing this pref, there's no way to disable that.</Sentence>
<Sentence ID = "5.3"> some users do not want the recently-closed-tabs menu, and others don't want any session tracks stored in memory at all.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-18 14:46:25'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "6.1"> (In reply to comment #4)</Sentence>
<Sentence ID = "6.2"> &amp;gt; some users do not want the recently-closed-tabs menu,</Sentence>
<Sentence ID = "6.3"> That's what browser.sessionstore.max_tabs_undo is for: setting it to 0 effectively disables the feature.</Sentence>
<Sentence ID = "6.4"> &amp;gt; and others don't want any session tracks stored in memory at all.</Sentence>
<Sentence ID = "6.5"> Then again, we don't save any data that wouldn't be in memory, anyway, or do we?</Sentence>
<Sentence ID = "6.6"> I'd rather introduce a different pref or different means to cater the privacy sensitive users than have this half-baked cut-it-all pref which AFAICT so far has produced more issues than it's solved.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-19 10:07:17'</Date>
<From>'Dietrich Ayala'</From>
<Text>
<Sentence ID = "7.1"> (In reply to comment #5)</Sentence>
<Sentence ID = "7.2"> &amp;gt; Then again, we don't save any data that wouldn't be in memory, anyway, or do we?</Sentence>
<Sentence ID = "7.3"> Fair point. I'm not sure.</Sentence>
<Sentence ID = "7.4"> &amp;gt; I'd rather introduce a different pref or different means to cater the privacy sensitive users than have this half-baked cut-it-all pref which AFAICT so far has produced more issues than it's solved.</Sentence>
<Sentence ID = "7.5"> Yes, agreed the pref is not ideal for this purpose.</Sentence>
<Sentence ID = "7.6"> So max_tabs_undo=0 + resume_from_crash=false is fine for now, until proper \"private browsing\" is supported.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-19 10:12:56'</Date>
<From>'Dietrich Ayala'</From>
<Text>
<Sentence ID = "8.1"> (From update of attachment 332726 [details])</Sentence>
<Sentence ID = "8.2"> &amp;gt;+            // XXXzeniko should't we just disable this item as we disable</Sentence>
<Sentence ID = "8.3"> &amp;gt;+            // the tabbrowser-multiple items above - for consistency?</Sentence>
<Sentence ID = "8.4"> &amp;gt;+            this.mUndoCloseTabMenuItem.hidden =</Sentence>
<Sentence ID = "8.5"> &amp;gt;+              Cc[\"@mozilla.org/browser/sessionstore;1\"].</Sentence>
<Sentence ID = "8.6"> &amp;gt;+              getService(Ci.nsISessionStore).</Sentence>
<Sentence ID = "8.7"> &amp;gt;+              getClosedTabCount(window) == 0;</Sentence>
<Sentence ID = "8.8"> +1</Sentence>
<Sentence ID = "8.9"> r=me</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-19 10:22:13'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "9.1"> (In reply to comment #7)</Sentence>
<Sentence ID = "9.2"> &amp;gt; +1</Sentence>
<Sentence ID = "9.3"> That's bug 350731.</Sentence>
<Sentence ID = "9.4"> Care to convince mconnor that he's wrong? ;-)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-19 22:49:19'</Date>
<From>'Reed Loden'</From>
<Text>
<Sentence ID = "10.1"> Pushed as 17120:e712e96d7861 and 17121:adb1ef78dd21.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-20 02:15:09'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "11.1"> onemen: This patch significantly affects Tab Mix Plus:</Sentence>
<Sentence ID = "11.2"> Instead of disabling SessionStore, you'll now have to replace it by shipping a component which implements the same API.</Sentence>
<Sentence ID = "11.3"> You should be able to keep that component minimal, though, and just call your own code whenever the API is used.</Sentence>
<Sentence ID = "11.4"> This will make the lives of people using the SessionStore API (such as Session Manager) somewhat simpler, as they can just use the API without having to worry too much about the implementation behind it.</Sentence>
<Sentence ID = "11.5"> If you want to offer the option of switching between your and our implementation, see e.g. the ignore-history component of the Torbutton extension for how to overwrite a component with the original still being available internally (so that you can either pass API calls forward or handle them yourself).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-20 09:46:40'</Date>
<From>'Dave Townsend'</From>
<Text>
<Sentence ID = "12.1"> Sounds like this has impact for extension authors and so should be documented on MDC</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-20 10:10:49'</Date>
<From>'onemen'</From>
<Text>
<Sentence ID = "13.1"> no problem.</Sentence>
<Sentence ID = "13.2"> current Tabmix dev-build already not disable SessionStore</Sentence>
<Sentence ID = "13.3"> I currently have only one problem , how to disable the restore after restart.</Sentence>
<Sentence ID = "13.4"> can you add a pref for this, or some other way to do it?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-20 11:04:03'</Date>
<From>'Simon Bunzli'</From>
<Text>
<Sentence ID = "14.1"> (In reply to comment #12)</Sentence>
<Sentence ID = "14.2"> &amp;gt; I currently have only one problem , how to disable the restore after restart.</Sentence>
<Sentence ID = "14.3"> You've got several options for that:</Sentence>
<Sentence ID = "14.4"> * Set the prefs browser.sessionstore.resume_from_crash and browser.sessionstore.resume_session_once both to false as early as possible and make sure that browser.startup.page isn't 3.</Sentence>
<Sentence ID = "14.5"> * Delete the file sessionstore.js as early as possible (e.g. when the profile-after-change notification is dispatched).</Sentence>
<Sentence ID = "14.6"> * For Firefox 3.1: Respond to the sessionstore-state-read notification by setting the subject's data member to an empty string (cf. bug 448741 comment#6).</Sentence>
<Sentence ID = "14.7"> Or is there a use case I'm missing?</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "3">
<Title>"(491925) Firefox - Disable multitouch \"rotate\" gesture for cycling tabs"</Title>
<Turn>
<Date>'2009-05-07 13:09:47'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "1.1"> I've noticed that I frequently trigger the rotate gesture accidentally, usually while scrolling.</Sentence>
<Sentence ID = "1.2"> Gestures have improved since the original landing (when triggering the wrong gesture was really easy), but this articular gesture is still problematic.</Sentence>
<Sentence ID = "1.3"> The basic reasoning is that it's highly disruptive to be switched to another tab when you're not expecting it.</Sentence>
<Sentence ID = "1.4"> When it happens, you don't know what just happened until you notice that you're on some entirely different page, that's randomly to the left or right (1 or more tabs) from the page you thought you were on.</Sentence>
<Sentence ID = "1.5"> I'm don't think the rotate gesture for switching tabs is nearly as useful, discoverable, or a good fit as the other gestures are.</Sentence>
<Sentence ID = "1.6"> So, given this problem, we should just disable it for 3.5. </Sentence>
<Sentence ID = "1.7"> [I'd also be open to tweaking it to make it much harder to trigger accidentally, dunno if that's possible.]</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 13:20:26'</Date>
<From>'Henrik Skupin'</From>
<Text>
<Sentence ID = "2.1"> See also bug 461376. </Sentence>
<Sentence ID = "2.2"> Just play around with browser.gesture.twist.* in about:config as a temporary workaround.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 14:11:45'</Date>
<From>'Mike Beltzner'</From>
<Text>
<Sentence ID = "3.1"> Justin, the odd thing here is that I find I trigger zoom more frequently than tab rotate ... far far more frequently.</Sentence>
<Sentence ID = "3.2"> And I also find that it's not just in Firefox, it's all over OSX.</Sentence>
<Sentence ID = "3.3"> I wonder how much of this is us vs. odd timings causing misreads of the trackpad by OSX.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 15:03:52'</Date>
<From>'Olli Pettay'</From>
<Text>
<Sentence ID = "4.1"> I think I've never accidentally switched tab because of rotate gesture.</Sentence>
<Sentence ID = "4.2"> Actually I'd probably decrease the default threshold for tab switching.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 16:02:51'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "5.1"> I've triggered zoom repeatedly too; </Sentence>
<Sentence ID = "5.2"> usually I fix it right away but a quick browse though content-prefs.sqlite shows ~20 sites with zoom settings that I didn't know were set.</Sentence>
<Sentence ID = "5.3"> That's probably because zoom is a subtle effect (for 1 step, relative to the distraction that an accidental tab switch causes).</Sentence>
<Sentence ID = "5.4"> While playing with different browser.gesture.twist settings, I've found twisting through tabs often resulted in triggering a zoom. </Sentence>
<Sentence ID = "5.5"> Probably because a twist is a very awkward gesture to make, especially if it's more than a quarter-turn... </Sentence>
<Sentence ID = "5.6"> Around that point, my fingers want to spread or join, and that ends up read as a pinch. </Sentence>
<Sentence ID = "5.7"> I guess that's part of why I'm not really fond of this gesture, and would just as soon turn it off.</Sentence>
<Sentence ID = "5.8"> I'll try running with a threshold of 40, but I suspect there's an unavoidable conflict between making it easy to use on purpose, yet hard to invoke accidentally.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 16:08:28'</Date>
<From>'Edward Lee'</From>
<Text>
<Sentence ID = "6.1"> I've been using swipe left/right to change tabs and cmd-left/right to go back/forward, but I do have rotate as change tabs as well and I haven't accidentally triggered it.</Sentence>
<Sentence ID = "6.2"> Maybe it's your rotating technique ;) </Sentence>
<Sentence ID = "6.3"> I'm right handed and I position my index finger at 7oclock and ring finger at 1oclock. </Sentence>
<Sentence ID = "6.4"> To rotate right I end up at 8/2oclocks.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 16:10:08'</Date>
<From>'Samuel Sidler'</From>
<Text>
<Sentence ID = "7.1"> The first time I came into contact with tab switching via gesture was accidentally. </Sentence>
<Sentence ID = "7.2"> I wasn't sure what happened, I just appeared on another tab and couldn't figure out why. </Sentence>
<Sentence ID = "7.3"> The tab-switching gesture right now isn't obvious and feels unexpected when I hit it.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 07:00:44'</Date>
<From>'Mike Beltzner'</From>
<Text>
<Sentence ID = "8.1"> Mardak: the way you've written this code, disabling the gesture is a pref-flip, right?</Sentence>
<Sentence ID = "8.2"> Blocking here for decision and mulling, will probably take it though.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 08:38:06'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "9.1"> Yup, should be able to just unset the default value for the twist prefs:</Sentence>
<Sentence ID = "9.2"> -pref(\"browser.gesture.twist.right\", \"Browser:NextTab\");</Sentence>
<Sentence ID = "9.3"> -pref(\"browser.gesture.twist.left\", \"Browser:PrevTab\");</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 10:45:51'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "10.1"> Would setting the value to empty-string (\"\") work, or something similar? </Sentence>
<Sentence ID = "10.2"> It would be nice to leave the prefs visible for those who want to use them.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 12:24:05'</Date>
<From>'Robert Strong'</From>
<Text>
<Sentence ID = "11.1"> Since this is now implemented on Win7 with Multitouch screens please be sure not to disable it for Windows.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 14:54:42'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "12.1"> (In reply to comment #10)</Sentence>
<Sentence ID = "12.2"> &amp;gt; Since this is now implemented on Win7 with Multitouch screens please be sure not to disable it for Windows.</Sentence>
<Sentence ID = "12.3"> Fine by me; though I'd be a bit wary of having Windows users hit the same problem with multitouch trackpads...</Sentence>
<Sentence ID = "12.4"> But Rob says such hardware/drivers doesn't exist today, so it shouldn't be a common problem.</Sentence>
<Sentence ID = "12.5"> We should keep on eye out for problems with issues on touchscreens, andt from Rob demoing it on his touchscreen it would appear harder to trigger. </Sentence>
<Sentence ID = "12.6"> And maybe Windows 7 is just better at discriminating between gestures.</Sentence>
<Sentence ID = "12.7"> OTOH it wouldn't be a big deal to just disable it globally. </Sentence>
<Sentence ID = "12.8"> Safari doesn't use it, and Rob confirmed that IE doesn't use it on Windows 7.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 15:00:31'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "13.1"> This bug is just rotate, but do we want to consider pinching too?</Sentence>
<Sentence ID = "13.2"> If we take those out, we'll have swipe up/down as jump to top/bottom and swipe left/right as back/forward by default.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 15:24:24'</Date>
<From>'Justin Dolske'</From>
<Text>
<Sentence ID = "14.1"> (In reply to comment #12)</Sentence>
<Sentence ID = "14.2"> &amp;gt; This bug is just rotate, but do we want to consider pinching too?</Sentence>
<Sentence ID = "14.3"> Maybe; it certainly has been noted that people are accidentally hitting that gesture too. </Sentence>
<Sentence ID = "14.4"> Though I think it's a separate decision: rotate is an unnatural gesture for switching tabs (nothing else uses it this way), with a high penalty for accidentally triggering. </Sentence>
<Sentence ID = "14.5"> Pinching is a natural gesture for page zoom (and more widely used/known), with a low penalty for accidentally triggering. </Sentence>
<Sentence ID = "14.6"> I think most people would consider it a bug if we claimed to support multitouch, but pinch didn't do anything.</Sentence>
<Sentence ID = "14.7"> So, I'd strongly lean towards only removing the rotate. Pinchy would've wanted it this way.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 15:32:51'</Date>
<From>'Jim Mathies'</From>
<Text>
<Sentence ID = "15.1"> (In reply to comment #12)</Sentence>
<Sentence ID = "15.2"> &amp;gt; This bug is just rotate, but do we want to consider pinching too?</Sentence>
<Sentence ID = "15.3"> &amp;gt; </Sentence>
<Sentence ID = "15.4"> &amp;gt; If we take those out, we'll have swipe up/down as jump to top/bottom and swipe left/right as back/forward by default.</Sentence>
<Sentence ID = "15.5"> pinch should definitely be left on for win7.</Sentence>
<Sentence ID = "15.6"> Tracking is turned off so you get a nice zoom in/zoom out effect. </Sentence>
<Sentence ID = "15.7"> It's also nearly impossible to trigger without a definitive pinch with two fingers on the screen.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 20:48:28'</Date>
<From>'Mike Beltzner'</From>
<Text>
<Sentence ID = "16.1"> If you want to consider disabling pinch, please file a separate bug, do not conflate. </Sentence>
<Sentence ID = "16.2"> FWIW, I'm not nearly as keen on disabling that one, and am fairly-to-surely likely to WONTFIX such a bug.</Sentence>
<Sentence ID = "16.3"> But go ahead ... try me ;) </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-11 21:29:39'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "17.1"> Created an attachment (id=376850) [details]</Sentence>
<Sentence ID = "17.2"> v1</Sentence>
<Sentence ID = "17.3"> Don't do anything on os x when twisting.</Sentence>
<Sentence ID = "17.4"> Alternatively, have people tried upping the threshold for twist? </Sentence>
<Sentence ID = "17.5"> It would make it less likely to accidentally trigger.</Sentence>
<Sentence ID = "17.6"> But I just noticed something interesting in os x's gesture detection.</Sentence>
<Sentence ID = "17.7"> - If I use 2 hands (1 finger each) and place one at the top and one at the bottom, moving the top finger registers as a normal mouse move while moving the bottom finger is registered as a twist.</Sentence>
<Sentence ID = "17.8"> I suppose the heuristic there is to assume the top finger is used for scrolling.</Sentence>
<Sentence ID = "17.9"> - Also, if your fingers are too close to the edge, it won't treat it as a rotate. But you can still move the pointer from the edge.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-19 13:37:50'</Date>
<From>'Mike Beltzner'</From>
<Text>
<Sentence ID = "18.1"> Can we get the patch reviewed - I think we want to remove the rotate gesture on both Windows and OSX.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-19 13:47:53'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "19.1"> Created an attachment (id=378424) [details]</Sentence>
<Sentence ID = "19.2"> v2</Sentence>
<Sentence ID = "19.3"> both Windows and OSX.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-19 23:14:15'</Date>
<From>'Mike Beltzner'</From>
<Text>
<Sentence ID = "20.1"> (From update of attachment 378424 [details])</Sentence>
<Sentence ID = "20.2"> uir+r=beltzner</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-19 23:57:31'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "21.1"> http://hg.mozilla.org/mozilla-central/rev/d19424342b43</Sentence>
<Sentence ID = "21.2"> Give empty commands for twist gestures, so they do nothing, but still show up as prefs in about:config.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-20 16:44:33'</Date>
<From>'Edward Lee Mardak'</From>
<Text>
<Sentence ID = "22.1"> http://hg.mozilla.org/releases/mozilla-1.9.1/rev/3329a3997d7b</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-26 07:58:47'</Date>
<From>'Henrik Skupin'</From>
<Text>
<Sentence ID = "23.1"> Verified fixed on trunk and 1.9.1 with builds on OS X and Windows like:</Sentence>
<Sentence ID = "23.2"> Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090525 Minefield/3.6a1pre ID:20090525031110</Sentence>
<Sentence ID = "23.3"> Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1pre) Gecko/20090526 Shiretoko/3.5pre ID:20090526031155</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-07-05 13:49:55'</Date>
<From>'Nick Lowe'</From>
<Text>
<Sentence ID = "24.1"> Off the back of this, would there be any chance of getting...</Sentence>
<Sentence ID = "24.2"> browser.gesture.swipe.left.shift added and set to Browser:PrevTab</Sentence>
<Sentence ID = "24.3"> and</Sentence>
<Sentence ID = "24.4"> browser.gesture.swipe.right.shift added and set to Browser:NextTab</Sentence>
<Sentence ID = "24.5"> Having made this change, I must admit to now finding Firefox almost 'alien' to use on other multi-touch machines!</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-07-05 16:12:40'</Date>
<From>'Nick Lowe'</From>
<Text>
<Sentence ID = "25.1"> https://bugzilla.mozilla.org/show_bug.cgi?id=502500</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "4">
<Title>"(250125) Eclipse - createExistentResourceFromHandle forgets to create children resources"</Title>
<Turn>
<Date>'2008-10-08 12:51:00'</Date>
<From>'Kai Klesatschke'</From>
<Text>
<Sentence ID = "1.1"> Problem:</Sentence>
<Sentence ID = "1.2"> The method FolderDescription#createExistentResourceFromHandle(IResource,IProgressMonitor) checks if the folder already exists and returns immediately if so.</Sentence>
<Sentence ID = "1.3"> In cases where the FolderDescription has members which are not existing at that moment, that members will not be created.</Sentence>
<Sentence ID = "1.4"> Use case:</Sentence>
<Sentence ID = "1.5"> Assume you want to create a folder and a file in that folder and use two operations for this. </Sentence>
<Sentence ID = "1.6"> I know it is not necessary to use two operations but my configuration is more complex than this example code.</Sentence>
<Sentence ID = "1.7"> IFolder folder = ... // must not exist</Sentence>
<Sentence ID = "1.8"> CreateFolderOperation op1 = new CreateFolderOperation(folder,...);</Sentence>
<Sentence ID = "1.9"> IFile file = folder.getFile(...); // must not exist</Sentence>
<Sentence ID = "1.10"> CreateFileOperation op1 = new CreateFileOperation(file,...);</Sentence>
<Sentence ID = "1.11"> op1.execute(...);</Sentence>
<Sentence ID = "1.12"> op2.execute(...);</Sentence>
<Sentence ID = "1.13"> The execution of the op2 does not create the file because as stated above createExistentResourceFromHandle returns immediately because the parent folder of the file was created by op1.</Sentence>
<Sentence ID = "1.14"> IMHO createExistentResourceFromHandle must check if members of a FolderDescription should be created.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-08 12:57:20'</Date>
<From>'Kai Klesatschke'</From>
<Text>
<Sentence ID = "2.1"> I checked the code in the ganymede release and the problem should exist there too.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-22 13:01:23'</Date>
<From>'Susan F. McCourt'</From>
<Text>
<Sentence ID = "3.1"> Is there any reason you cannot execute op1 before creating op2?</Sentence>
<Sentence ID = "3.2"> The basic problem is that the workspace file structure has changed since you first created the operation, so the change described by the operation is no longer valid.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 03:05:42'</Date>
<From>'Kai Klesatschke'</From>
<Text>
<Sentence ID = "4.1"> &amp;gt;Is there any reason you cannot execute op1 before creating op2?</Sentence>
<Sentence ID = "4.2"> No there is not.</Sentence>
<Sentence ID = "4.3"> In the meantime I found a workaround in my code but I think it's very inconvenient that someone must know that op2 have to be created after the execution of op1. </Sentence>
<Sentence ID = "4.4"> The API gave me no hint that I have to do so!</Sentence>
<Sentence ID = "4.5"> Maybe the build of the FolderDescription could be delayed until the execution of op2.</Sentence>
<Sentence ID = "4.6"> Think about cases where the to ops have nothing in common e.g. created and executed in different plug-ins.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 11:12:00'</Date>
<From>'Susan F. McCourt'</From>
<Text>
<Sentence ID = "5.1"> I'll mark this one for M4.</Sentence>
<Sentence ID = "5.2"> I think what needs to happen is that the javadoc better describes the lifecycle of these operations, and the isValid() method is tightened up so that the operation becomes invalid when the workspace changes to no longer match its recorded state.  </Sentence>
<Sentence ID = "5.3"> It is not the intention of these classes to stay in synch with workspace changes that happen independently of a shared, sequential workspace history.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-30 03:35:08'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "6.1"> Moving target as M6 has shipped.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-16 15:30:37'</Date>
<From>'Susan F. McCourt'</From>
<Text>
<Sentence ID = "7.1"> Fixed in HEAD &amp;gt;20090416.</Sentence>
<Sentence ID = "7.2"> In order to understand better what the ramifications might be of actually fixing this bug vs. better documenting the limitations and usage, I started by implementing a trial fix for the problem as reported.</Sentence>
<Sentence ID = "7.3"> It is pretty straightforward to rearrange the code to create the child resources (the file) even if the parent exists since the operation was created.</Sentence>
<Sentence ID = "7.4"> However, the problems occur later when you try to undo such an operation. </Sentence>
<Sentence ID = "7.5"> Since the operation \"remembered\" that the folder didn't exist when it was first created, the undo of the create file operation tries to also delete the folder.  </Sentence>
<Sentence ID = "7.6"> This means that to truly fix the bug, we'd have to change the operations so that the resource descriptions were constantly updated to deal with changes that occurred.</Sentence>
<Sentence ID = "7.7"> So I still believe it's better to document more clearly what the intentions of the API are.  </Sentence>
<Sentence ID = "7.8"> I've updated the javadoc for AbstractResourcesOperation, CreateFileOperation, and CreateFolderOperation.  </Sentence>
<Sentence ID = "7.9"> In addition, I created a stricter validity check on CreateFileOperation so that the operation will return an invalid status if portions of the resource tree already exist.  </Sentence>
<Sentence ID = "7.10"> Created WorkspaceOperationsTest.test250125() to simulate this condition.  </Sentence>
<Sentence ID = "7.11"> The CreateFileOperation is valid until the CreateFolderOperation is run, at which time the file operation knows it is invalid.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-16 15:34:13'</Date>
<From>'Susan F. McCourt'</From>
<Text>
<Sentence ID = "8.1"> &amp;gt; In addition, I created a stricter validity check on CreateFileOperation so that the operation will return an invalid status if portions of the resource tree already exist. </Sentence>
<Sentence ID = "8.2"> What I meant to say is...</Sentence>
<Sentence ID = "8.3"> I created a stricter validity check on CreateFileOperation so that the operation will return an invalid status if portions of the resource tree *that did not exist when the operation was created* already exist at the time of execution.  </Sentence>
<Sentence ID = "8.4"> It is expected/allowed that the containment tree already exists when the op is executed, as long they also existed when the op was created.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-28 16:31:24'</Date>
<From>'Susan F. McCourt'</From>
<Text>
<Sentence ID = "9.1"> verified via automated test cases that run on each build.</Sentence>
<Sentence ID = "9.2"> Also verified through source inspection</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "5">
<Title>"(224588) Eclipse - [Patch] Provide an information how many lines does the patch change"</Title>
<Turn>
<Date>'2008-03-28 09:19:00'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "1.1"> Inspired by Martin Oberhuber's mail about his \"lsc\" script for counting lines in a patch[1], I though that it maybe be worthwhile to embed such thing in the Apply Patch wizard itself. </Sentence>
<Sentence ID = "1.2"> imo using regexp should be enough here, especially due to the fact that we don't want to make any additional dependencies. </Sentence>
<Sentence ID = "1.3"> So, my proposal is to allow to specify a regexp rule for lines that should be count as a \"real contribution\".</Sentence>
<Sentence ID = "1.4"> This is what first came to my head:</Sentence>
<Sentence ID = "1.5"> /-\\\\+? (\\s*\\S+\\s*)+$</Sentence>
<Sentence ID = "1.6"> which means \"Count only lines starting with single '+' and a space. </Sentence>
<Sentence ID = "1.7"> The line must also have at least one non-whitespace character\". </Sentence>
<Sentence ID = "1.8"> I think this is more/less what Martin's script does.</Sentence>
<Sentence ID = "1.9"> All lines that match the above pattern would be sum up and the info would be displayed somewhere on the Apply Patch wizard. </Sentence>
<Sentence ID = "1.10"> How does it sound? Martin?</Sentence>
<Sentence ID = "1.11"> Again, I think it's a brilliant idea Martin.</Sentence>
<Sentence ID = "1.12"> [1] sent to eclipse.org-committers</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-28 09:22:45'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "2.1"> The info could be also shown in a patch outline view (see bug 190418).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-28 09:42:46'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "3.1"> Excellent idea! </Sentence>
<Sentence ID = "3.2"> Having the line counter right in the apply patch wizard would finally give us a standard way of counting lines that everybody could use easily.</Sentence>
<Sentence ID = "3.3"> My script also ignores \"empty comment\" lines of the form</Sentence>
<Sentence ID = "3.4">    /-\\\\+\\s+[#*]+\\s+$</Sentence>
<Sentence ID = "3.5"> but that's really neglectible and I'm fine with your approach of counting any non-empty added line in the patch.</Sentence>
<Sentence ID = "3.6"> Actually, couldn't your regex even be simpler, say</Sentence>
<Sentence ID = "3.7">    /-\\\\+\\s+\\S</Sentence>
<Sentence ID = "3.8"> since you don't need to check till the end of the line?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-28 09:46:03'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "4.1"> And actually, if the wizard counts added lines, why shouldn't it also count removed lines? </Sentence>
<Sentence ID = "4.2"> Giving two separate numbers e.g.</Sentence>
<Sentence ID = "4.3">    10 lines added  20 lines removed</Sentence>
<Sentence ID = "4.4"> This sounds familiar to me since I've seen similar numbers in RCS files before.</Sentence>
<Sentence ID = "4.5"> I'd guess that the regex for removed lines could just be the same as for added lines but the + replaced by a -; and, files removed entirely should contribute the entire number of lines they had before (I believe that the old contents is</Sentence>
<Sentence ID = "4.6"> not recorded in the diff, is it?)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-01 09:32:36'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "5.1"> Created an attachment (id=94358) [details]</Sentence>
<Sentence ID = "5.2"> Patch</Sentence>
<Sentence ID = "5.3"> Fix that matches all lines from a patch against given regexps (one for added lines and one for removed). </Sentence>
<Sentence ID = "5.4"> Patterns can be changed on General &amp;gt; Compare/Patch pref page. </Sentence>
<Sentence ID = "5.5"> I decided to leave them blank by default, so I don't need to worry about different diff output formats which are out there. </Sentence>
<Sentence ID = "5.6"> However, you can easily set it to a value most convenient to you (i.e. '/-\\\\+\\s+\\S').</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-01 09:32:39'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=94360) [details]</Sentence>
<Sentence ID = "6.2"> mylyn/context/zip</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-01 09:38:19'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "7.1"> (In reply to comment #4)</Sentence>
<Sentence ID = "7.2"> &amp;gt; I decided to leave them blank by default, so I don't need to worry</Sentence>
<Sentence ID = "7.3"> So this means it won't work out of the box? But then, the compare/patch feature already needs to analyze patches or it cannot apply them, right? </Sentence>
<Sentence ID = "7.4"> So I don't quite understand why the same patterns that compare/patch already uses aren't the default for the line counting feature.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-02 11:54:35'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "8.1"> (In reply to comment #6)</Sentence>
<Sentence ID = "8.2"> &amp;gt; So this means it won't work out of the box? </Sentence>
<Sentence ID = "8.3"> &amp;gt; But then, the compare/patch feature already needs to analyze patches or it cannot apply them, right? </Sentence>
<Sentence ID = "8.4"> &amp;gt; So I don't &amp;gt; quite understand why the same patterns that compare/patch already uses aren't the default for the line counting feature.</Sentence>
<Sentence ID = "8.5"> I guess you're right Martin, but this will make the patch a little bit more complicated as the current patching mechanism is not very helpful in counting added/removed lines. </Sentence>
<Sentence ID = "8.6"> I'll just need some extra time to do this.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-21 09:11:06'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "9.1"> Created an attachment (id=96838) [details]</Sentence>
<Sentence ID = "9.2"> Patch 2</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-21 09:11:09'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "10.1"> Created an attachment (id=96839) [details]</Sentence>
<Sentence ID = "10.2"> mylyn/context/zip</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-21 09:29:15'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "11.1"> The latest patch ensures, that when no regular expressions is provided, the patcher will use internal patterns to distinguish which lines have been added or deleted. </Sentence>
<Sentence ID = "11.2"> However, this will work only for patches in unified and context diff output format. </Sentence>
<Sentence ID = "11.3"> As reported in bug 227742, it appears that standard patch format is no longer supported (or it has never been).</Sentence>
<Sentence ID = "11.4"> Moreover, I logged bug 228000 to make sure we add some automated tests to cover this newly added feature.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-22 05:47:53'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "12.1"> Created an attachment (id=96993) [details]</Sentence>
<Sentence ID = "12.2"> Patch 3</Sentence>
<Sentence ID = "12.3"> Previous patch with some minor adjustments.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-22 06:29:21'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "13.1"> The latest patch applied to CVS HEAD. </Sentence>
<Sentence ID = "13.2"> Martin, would you like to try it out and let me know what do you think? </Sentence>
<Sentence ID = "13.3"> Feel free to open a new bug if there is something I missed.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-23 21:00:43'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "14.1"> I tested this with I20080422-0800, on the attached patch from bug 227572 attachment 97084 [details]. </Sentence>
<Sentence ID = "14.2"> Your dialog counts 207 added and 29 removed lines, but my script only counts 151 added lines.</Sentence>
<Sentence ID = "14.3"> It looks like you are also counting empty lines, which doesn't seem overly useful to me.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-24 04:44:46'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "15.1"> Created an attachment (id=97398) [details]</Sentence>
<Sentence ID = "15.2"> The preference page</Sentence>
<Sentence ID = "15.3"> The \"internal\" mechanism of counting added/removed lines is very simple, it sums up all lines with '+' and '-'. </Sentence>
<Sentence ID = "15.4"> If you want to use your own patterns/script please take a look at the General &amp;gt; Compare/Patch pref page. </Sentence>
<Sentence ID = "15.5"> I've added there two fields where you can customize the way this simple mechanism works.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-24 07:09:41'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "16.1"> It's awsome that this is customizeable, but when I remember right, one reason for putting this enhancement into Eclipse SDK was such that there is a \"common standard\" by which the projects count their lines in a patch.</Sentence>
<Sentence ID = "16.2"> I think that this \"common standard\" should be as good as possible by default.</Sentence>
<Sentence ID = "16.3"> On the other hand, having some magic like removing empty lines from the count going on in the background is perhaps a problem... </Sentence>
<Sentence ID = "16.4"> would it be possible to keep your current count (\"211 added / 53 removed lines\") but add an additional count without empty lines e.g.</Sentence>
<Sentence ID = "16.5"> Note that I'm only talking about empty lines here, e.g. Regex \"/-\\\\\\s*$\". </Sentence>
<Sentence ID = "16.6"> I agree that we cannot count empty comments here by default, because comment styles differ by language. </Sentence>
<Sentence ID = "16.7"> Actually, it might be a good idea to have one additional kind of Regex pattern in the Preferences, which acts as a filter -- suggested tooltip behind //:</Sentence>
<Sentence ID = "16.8">   Added Lines:    /-\\+</Sentence>
<Sentence ID = "16.9">   Removed Lines:  /-\\-</Sentence>
<Sentence ID = "16.10">   Filter:         /-\\[+-]\\s*$     //Filter for lines to not count, e.g. empty lines</Sentence>
<Sentence ID = "16.11"> providing an output such as   \"Patch contains 207 added and 29 removed lines (151 / 27 filtered)\"</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-24 08:46:47'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "17.1"> Martin, I see your point when you're saying that the \"common standard\" should be as good as possible, however I would rather not to filter any lines from a patch when parsing. Here are the approaches so far:</Sentence>
<Sentence ID = "17.2"> 1) Use only given filters, by default no counting will be made. </Sentence>
<Sentence ID = "17.3"> This is how the patch from comment 4 worked. </Sentence>
<Sentence ID = "17.4"> Rejected.</Sentence>
<Sentence ID = "17.5"> 2) By default count lines using the simple patterns, which are currently used when parsing a patch (ie \"+\" and \"-\"), this can be modified in the pref page.</Sentence>
<Sentence ID = "17.6"> Patch in comment 13. </Sentence>
<Sentence ID = "17.7"> In HEAD.</Sentence>
<Sentence ID = "17.8"> 3) By default count lines using more sophisticated patterns like excluding empty lines. </Sentence>
<Sentence ID = "17.9"> And again, this can be modified in the pref page. </Sentence>
<Sentence ID = "17.10"> If I understood you correctly this is what you meant in comment 15. </Sentence>
<Sentence ID = "17.11"> My main concern here is:</Sentence>
<Sentence ID = "17.12"> what if I would like to know total number of lines added in the patch (the filter idea looks to be an answer here but it's a pref value, it's not embedded in the parser itself, right?)</Sentence>
<Sentence ID = "17.13"> 4) By default count lines using both simple and sophisticated patterns at the same time. </Sentence>
<Sentence ID = "17.14"> The output would be something like this \"Patch contains X added and Y removed lines + Z added lines which are empty\". Again, the user could provide his own patterns... </Sentence>
<Sentence ID = "17.15"> which makes the whole mechanism overblown and not as intuitive as I would like it to be.</Sentence>
<Sentence ID = "17.16"> Regarding the filter idea: it sounds good to me, but I think we should move the discussion about it to a separate bug.</Sentence>
<Sentence ID = "17.17"> Would you mind opening one?</Sentence>
<Sentence ID = "17.18"> btw, thanks for your feedback Martin.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-30 08:53:01'</Date>
<From>'Tomasz Zarna'</From>
<Text>
<Sentence ID = "18.1"> Verified in I20080429-0100. </Sentence>
<Sentence ID = "18.2"> Martin are you willing to open new bugs to address your concerns?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-02 19:08:09'</Date>
<From>'Martin Oberhuber'</From>
<Text>
<Sentence ID = "19.1"> FYI,</Sentence>
<Sentence ID = "19.2"> following regex suppresses lines in the patch from counting, which are empty or only contain non-wordchars (i.e. lines which only contain an } or only contain a * as continuation of an empty Javadoc comment:</Sentence>
<Sentence ID = "19.3"> Added:     /-\\\\+[/-\\+]+[a-zA-Z0-9_!?\"|@~`$%&amp;()+;,.:&amp;lt;&amp;gt;=+-]</Sentence>
<Sentence ID = "19.4"> Removed:   /-\\-[/-\\-]+[a-zA-Z0-9_!?\"|@~`$%&amp;()+;,.:&amp;lt;&amp;gt;=+-]</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "6">
<Title>"(223734) Eclipse - Incorrect deprecation comments in Platform class"</Title>
<Turn>
<Date>'2008-03-24 17:36:00'</Date>
<From>'Angel Vera'</From>
<Text>
<Sentence ID = "1.1"> According to the javaDoc in Platform.getResourceString(Bundle,String), this method has been deprecated and one should use the NLS class or the BundleFinder.find(). </Sentence>
<Sentence ID = "1.2"> I was able to find the NLS class but I didn't find the BundleFinder class. </Sentence>
<Sentence ID = "1.3"> Is the javaDoc correct? </Sentence>
<Sentence ID = "1.4"> if it is a hint on where to find the BundleFinder class would help.</Sentence>
<Sentence ID = "1.5"> The NLS class doesn't seem to provide me with the same functionality that Platform.getResourceString does, so I am assuming that BundleFinder would do the job that I need.</Sentence>
<Sentence ID = "1.6"> Please provide me with more information on where to find the BundleFinder and improve the javaDoc.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-25 09:57:01'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "2.1"> I don't think that replacement functionality was ever implemented.</Sentence>
<Sentence ID = "2.2"> Pascal, you added bunch of comments like that to the Platform ver. 1.92. </Sentence>
<Sentence ID = "2.3"> As there are no current plans to act on them (and there has been no actions done in the last 2 years) I think we need to remove those comments - they make a rather confusing Javadoc.</Sentence>
<Sentence ID = "2.4"> There are 21 \"XXX\" comments that should be removed from Javadoc or acted upon.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-25 09:59:06'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "3.1"> Adding M7 as a milestone to remind to remove those comments.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-25 11:55:35'</Date>
<From>'Angel Vera'</From>
<Text>
<Sentence ID = "4.1"> (In reply to comment #1)</Sentence>
<Sentence ID = "4.2"> &amp;gt; I don't think that replacement functionality was ever implemented. </Sentence>
<Sentence ID = "4.3"> &amp;gt; Pascal, you added bunch of comments like that to the Platform ver. 1.92. </Sentence>
<Sentence ID = "4.4"> &amp;gt; As there are no current plans to act on them (and there has been no actions done &amp;gt; in the last 2 years) I think we need to remove those comments - they make a rather confusing Javadoc.</Sentence>
<Sentence ID = "4.5"> &amp;gt; There are 21 \"XXX\" comments that should be removed from Javadoc or acted upon.</Sentence>
<Sentence ID = "4.6">  </Sentence>
<Sentence ID = "4.7"> So are you saying that the support for using getResourceString has just been droppped, and that no replacement will be available? </Sentence>
<Sentence ID = "4.8"> that concerns me because WTP has a code that uses this method, and I am sure that there is plenty of adopters that are currently using that function as well.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-25 13:27:23'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "5.1"> The method Platform.getResourceString(Bundle,String) is not deprecated at this time; </Sentence>
<Sentence ID = "5.2"> the comments should have been added to the implementation code or to a bug report, not to the Javadoc of the Platform class. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-23 04:29:23'</Date>
<From>'Philippe Mulet'</From>
<Text>
<Sentence ID = "6.1"> Please adjust the target milestone, so it does not point at a closed milestone in the past.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-24 16:17:37'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "7.1"> From bug 247983 other tagged methods:</Sentence>
<Sentence ID = "7.2"> -getResourceBundle(Bundle)</Sentence>
<Sentence ID = "7.3"> -getResourceString(Bundle, String)</Sentence>
<Sentence ID = "7.4"> -getResourceString(Bundle, String, ResourceBundle)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-24 16:18:04'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "8.1"> *** Bug 247983 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-24 16:42:07'</Date>
<From>'Oleg Besedin'</From>
<Text>
<Sentence ID = "9.1"> Removed incorrect comments from the Platform class.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-24 16:49:49'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "10.1"> We collided, I just made the same changes. </Sentence>
<Sentence ID = "10.2"> The only difference is that I moved the comments to InternalPlatform. </Sentence>
<Sentence ID = "10.3"> Also I deprecated Platform#endSplash since this has been replaced with IApplicationContext#applicationRunning().</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "7">
<Title>"(437797) Firefox -  about:mozilla page is hardcoded to LTR in RC2"</Title>
<Turn>
<Date>'2008-06-07 10:59:00'</Date>
<From>'Tsahi Asher'</From>
<Text>
<Sentence ID = "1.1"> the about:mozilla page in RC2 is right-aligned, but has LTR directionality instead of RTL. </Sentence>
<Sentence ID = "1.2"> as a result, the dot at the end of the sentence is on the right side instead of the left, and both the parentheses around the \"10th edition\" line are on the right side.</Sentence>
<Sentence ID = "1.3"> i also think the quote source should be on the left side. </Sentence>
<Sentence ID = "1.4"> perhaps the page should take CSS from intl.css, where localisers can override some of the classes or add a class to set direction.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 11:12:04'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "2.1"> Actually I would like not to add yet another entry in intl.css but to fix it in aboutMozilla.xhtml. </Sentence>
<Sentence ID = "2.2"> Pike, can we think about it? </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 11:23:41'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "3.1"> Same behavior also affect other internal about pages.</Sentence>
<Sentence ID = "3.2"> * about:plugins</Sentence>
<Sentence ID = "3.3"> pages that get RTL:</Sentence>
<Sentence ID = "3.4"> * about:crashes</Sentence>
<Sentence ID = "3.5"> * about:robots - Has some open issues. See bug 427029</Sentence>
<Sentence ID = "3.6"> Pages that not translated, such as about:cache, about:credits and about:buildconfig should stay LTR.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 12:19:57'</Date>
<From>'Tsahi Asher'</From>
<Text>
<Sentence ID = "4.1"> the about:mozilla page used to be a file in the language pack, allowing the localizer to control it's look. </Sentence>
<Sentence ID = "4.2"> moving this out of the language pack created this problem.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 12:25:41'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "5.1"> the file dom/chrome/global.dtd control has direction control with the entity locale.dir. </Sentence>
<Sentence ID = "5.2"> We can, actually, support RTL using something like &amp;lt;body dir=&amp;locale.dir;&amp;gt;.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 13:01:50'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=324147) [details]</Sentence>
<Sentence ID = "6.2"> patch</Sentence>
<Sentence ID = "6.3"> Here is my patch. </Sentence>
<Sentence ID = "6.4"> Tested on Hebrew locale.</Sentence>
<Sentence ID = "6.5"> Please let me know if you prefer 'body{direction:&amp;locale.dir;}' instead of the current '&amp;lt;body dir=\"&amp;locale.dir;\"&amp;gt;'.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 13:42:01'</Date>
<From>'Tsahi Asher'</From>
<Text>
<Sentence ID = "7.1"> the W3C prefers markup and not CSS:</Sentence>
<Sentence ID = "7.2"> http://www.w3.org/International/questions/qa-bidi-css-markup</Sentence>
<Sentence ID = "7.3"> \"Because directionality is an integral part of the document structure, markup should be used to set the directionality for a document or chunk of information, or to identify places in the text where the Unicode bidirectional algorithm alone is insufficient to achieve desired directionality.\"</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-07 14:07:22'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "8.1"> (In reply to comment #6)</Sentence>
<Sentence ID = "8.2"> &amp;gt; the W3C prefers markup and not CSS:</Sentence>
<Sentence ID = "8.3"> Actually I'm not sure how we can do it using CSS.</Sentence>
<Sentence ID = "8.4"> I have no idea if something like 'body{direction:&amp;locale.dir;;}' is a valid. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-08 07:51:42'</Date>
<From>'Axel Hecht'</From>
<Text>
<Sentence ID = "9.1"> To me, the trunk solution for this is to have a separate entity for each of those pages, to work around bugs like bug 427029.</Sentence>
<Sentence ID = "9.2"> Once you localize a page we ship, you would then set the dir from ltr to rtl.</Sentence>
<Sentence ID = "9.3"> That's not a solution for the 1.9 branch, though, there we should just re-use locale.dir from global.dtd.</Sentence>
<Sentence ID = "9.4"> IMHO. Gavin, what do you think?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-11 11:38:12'</Date>
<From>'Gavin Sharp'</From>
<Text>
<Sentence ID = "10.1"> (In reply to comment #8)</Sentence>
<Sentence ID = "10.2"> &amp;gt; To me, the trunk solution for this is to have a separate entity for each of those pages, to work around bugs like bug 427029.</Sentence>
<Sentence ID = "10.3">  </Sentence>
<Sentence ID = "10.4"> &amp;gt; Once you localize a page we ship, you would then set the dir from ltr to rtl.</Sentence>
<Sentence ID = "10.5"> &amp;gt; That's not a solution for the 1.9 branch, though, there we should just re-use locale.dir from global.dtd.</Sentence>
<Sentence ID = "10.6"> Sounds fine to me, I guess... </Sentence>
<Sentence ID = "10.7"> do we really need to worry about the \"RTL locale that's falling back to en-US\" though? </Sentence>
<Sentence ID = "10.8"> Ideally we could just take this patch and not worry about having localizers update various different attributes based on</Sentence>
<Sentence ID = "10.9"> localization state, and just rely on them completing all the localization work to make it look decent.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-11 11:40:38'</Date>
<From>'Gavin Sharp'</From>
<Text>
<Sentence ID = "11.1"> In other words, isn't bug 427029 an edge case given the nature of about:robots and it's \"optional\" status for localizers? </Sentence>
<Sentence ID = "11.2"> Seems like we could just live with it not looking perfect for RTL locales that haven't localized it rather than adding complexity.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-11 11:43:45'</Date>
<From>'Axel Hecht'</From>
<Text>
<Sentence ID = "12.1"> Well, that depends on how disciplined folks are. </Sentence>
<Sentence ID = "12.2"> We could make that call per page, like in the case of the robots page, it might make sense to have an open window for not translating it, for neterror pages probably less. </Sentence>
<Sentence ID = "12.3"> There we could even get extreme and do it per div ;-).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-11 12:55:16'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "13.1"> I'm adding another screenshot to bug 427029. </Sentence>
<Sentence ID = "13.2"> Axel, Gavin - You are welcome to comment on that issue right there. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-29 10:48:37'</Date>
<From>'Tomer Cohen'</From>
<Text>
<Sentence ID = "14.1"> We are not far from 1.9.0.1 deadline. </Sentence>
<Sentence ID = "14.2"> Please approve1.9.0.1. </Sentence>
<Sentence ID = "14.3"> Thank you.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-17 16:05:29'</Date>
<From>'Samuel Sidler'</From>
<Text>
<Sentence ID = "15.1"> Please get this landed on mozilla-central before getting approval for 1.9.0.x.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-20 23:25:20'</Date>
<From>'Samuel Sidler'</From>
<Text>
<Sentence ID = "16.1"> (From update of attachment 324147 [details])</Sentence>
<Sentence ID = "16.2"> Please re-request approval after getting this landed on mozilla-central.</Sentence>
<Sentence ID = "16.3"> I'm not really sold on taking this given that it's more \"cosmetic\" than anything else...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-03 09:30:00'</Date>
<From>'Dao Gottwald'</From>
<Text>
<Sentence ID = "17.1"> http://hg.mozilla.org/index.cgi/mozilla-central/rev/d12488eef3f5</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "8">
<Title>"(260502) Eclipse - AdapterManager.computeClassOrder(Class) implementation does not match IAdapterManager JavaDoc"</Title>
<Turn>
<Date>'2009-01-09 00:28:00'</Date>
<From>'Brian Vosburgh'</From>
<Text>
<Sentence ID = "1.1"> Here is the JavaDoc for IAdapterManager.computeClassOrder(Class):</Sentence>
<Sentence ID = "1.2"> Returns the class search order for a given class. </Sentence>
<Sentence ID = "1.3"> The search order from a class with the definition class X extends Y implements A, B is as follows:</Sentence>
<Sentence ID = "1.4"> - the target's class: X </Sentence>
<Sentence ID = "1.5"> - X's superclasses in order to Object </Sentence>
<Sentence ID = "1.6"> - a breadth-first traversal of the target class's interfaces in the order returned by getInterfaces (in the example, A and its superinterfaces then B and its superinterfaces) </Sentence>
<Sentence ID = "1.7"> This comment is not perfectly clear. </Sentence>
<Sentence ID = "1.8"> In particular, it does not complete the example by explicitly listing the exact order the example classes and interfaces are returned.</Sentence>
<Sentence ID = "1.9"> I came up with a slightly richer example:</Sentence>
<Sentence ID = "1.10">     interface A extends M, N</Sentence>
<Sentence ID = "1.11">     interface B extends O</Sentence>
<Sentence ID = "1.12">     class Y implements C, D</Sentence>
<Sentence ID = "1.13">     class X extends Y implements A, B</Sentence>
<Sentence ID = "1.14"> [The declarations for interfaces C, D, M, N, and O are trivial.] </Sentence>
<Sentence ID = "1.15"> The order of classes and interfaces returned by AdapterManager.computeClassOrder(X) is:</Sentence>
<Sentence ID = "1.16">     class X</Sentence>
<Sentence ID = "1.17">     interface A</Sentence>
<Sentence ID = "1.18">     interface B</Sentence>
<Sentence ID = "1.19">     interface M</Sentence>
<Sentence ID = "1.20">     interface N</Sentence>
<Sentence ID = "1.21">     interface O</Sentence>
<Sentence ID = "1.22">     class Y</Sentence>
<Sentence ID = "1.23">     interface C</Sentence>
<Sentence ID = "1.24">     interface D</Sentence>
<Sentence ID = "1.25">     class java.lang.Object</Sentence>
<Sentence ID = "1.26"> This conflicts with the JavaDoc. The class X is the first thing returned, but it is *not* followed by \"X's superclasses in order to Object\". </Sentence>
<Sentence ID = "1.27"> It is followed by a breadth-first list of X's interface hierarchy\", *then* followed by X's superclass Y, which is then followed by a breadth-first list of Y's interface hierarchy; and so on, up to  java.lang.Object.</Sentence>
<Sentence ID = "1.28"> Also, the JavaDoc has what reads to me as a contradiction:</Sentence>
<Sentence ID = "1.29">     a breadth-first traversal of the target class's interfaces in the order returned by getInterfaces</Sentence>
<Sentence ID = "1.30"> vs. </Sentence>
<Sentence ID = "1.31">     in the example, A and its superinterfaces then B and its superinterfaces</Sentence>
<Sentence ID = "1.32"> What actually happens *does* feel like a \"breadth-first\" search; </Sentence>
<Sentence ID = "1.33"> but that would not be accurately described as \"A and its superinterfaces then B and its superinterfaces\". </Sentence>
<Sentence ID = "1.34"> But maybe I'm reading it wrong....</Sentence>
<Sentence ID = "1.35"> It might be worth discussing which is the \"preferred\" behavior: the behavior described by the JavaDoc or the behavior implemented in AdapterManager. </Sentence>
<Sentence ID = "1.36"> In some ways having all the classes first, followed by the interfaces might make more sense than the current implementation.... </Sentence>
<Sentence ID = "1.37"> But, then you have the whole \"backward-compatibility\" thing to worry about....</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-09 10:58:43'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "2.1"> You are right on both counts. </Sentence>
<Sentence ID = "2.2"> The implementation doesn't match the spec, and there is a contradiction in the spec itself. </Sentence>
<Sentence ID = "2.3"> Now the question is what do we do about it.</Sentence>
<Sentence ID = "2.4">  - For the contradiction, I think we should stick with the breadth-first search, and delete the parenthetic comment about the example (\"A and its superinterfaces then B and its superinterfaces\")</Sentence>
<Sentence ID = "2.5">  - For the spec not matching the behaviour, my instinct is to \"fix\" the spec to match the implementation, to avoid the risk of breaking clients. </Sentence>
<Sentence ID = "2.6"> This would be a very subtle change that could affect clients in unpredictable ways. </Sentence>
<Sentence ID = "2.7"> On the other hand if there are really compelling reasons to change the implementation to match the spec, I'd be curious to hear them.</Sentence>
<Sentence ID = "2.8"> I did some research and found that the implementation did match the spec until Febuary 20, 2004, when I change the implementation. </Sentence>
<Sentence ID = "2.9"> At that time the spec wasn't part of the API. </Sentence>
<Sentence ID = "2.10"> The spec was later added to the API (IAdapterManager#computeClassOrder) without checking that the implementation still matched. </Sentence>
<Sentence ID = "2.11"> I'm going to do some more archeology to see if I can figure out why I changed the lookup order.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-09 11:51:01'</Date>
<From>'Brian Vosburgh'</From>
<Text>
<Sentence ID = "3.1"> It would be interesting to know what triggered the change in behavior.</Sentence>
<Sentence ID = "3.2"> I guess the question is whether superclasses take precedence over interfaces defined lower in the hierarchy, i.e. does the implementation take precedence over the specification? </Sentence>
<Sentence ID = "3.3"> I can see arguments for either way; but I guess I would probably come down on the side of giving specification precedence. </Sentence>
<Sentence ID = "3.4"> So, I guess you argue further that all the interfaces could precede all the classes?</Sentence>
<Sentence ID = "3.5"> Argh...why did I even ask? :-)</Sentence>
<Sentence ID = "3.6"> Anyway, I don't have any use cases at the moment to argue one way or the other.</Sentence>
<Sentence ID = "3.7"> It's just that my curiosity got the better of me, after years of wondering, \"Just how does the Platform resolve which adapter to return?\" :-)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-12 12:02:41'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "4.1"> It looks like this change was made inadvertently during a large batch of changes to add support for the adapters extension point (bug 32498). </Sentence>
<Sentence ID = "4.2"> I think since this change was introduced accidentally, and this is a clear violation of a long-standing specification, I'm leaning towards fixing the implementation. </Sentence>
<Sentence ID = "4.3"> I noticed the spec also doesn't mention the interfaces of the target class' superclasses. </Sentence>
<Sentence ID = "4.4"> I think the corrected spec should read:</Sentence>
<Sentence ID = "4.5">          * &amp;lt;ul&amp;gt;</Sentence>
<Sentence ID = "4.6">          * &amp;lt;li&amp;gt;the target's class: X</Sentence>
<Sentence ID = "4.7">          * &amp;lt;li&amp;gt;X's superclasses in order to &amp;lt;code&amp;gt;Object&amp;lt;/code&amp;gt;</Sentence>
<Sentence ID = "4.8">          * &amp;lt;li&amp;gt;a breadth-first traversal of the target class's interfaces in the order returned by &amp;lt;code&amp;gt;getInterfaces&amp;lt;/code&amp;gt; (in the example, X and its superinterfaces then Y and its superinterfaces) &amp;lt;/li&amp;gt;</Sentence>
<Sentence ID = "4.9">          * &amp;lt;/ul&amp;gt;</Sentence>
<Sentence ID = "4.10"> Note that the comment changed to \"X and its superinterfaces then Y...\" as opposed to \"A and its superinterfaces then B...\". </Sentence>
<Sentence ID = "4.11"> Thus this clarifies how the interfaces of superclasses are considered, while fixing the contradiction in the specification of interface search order.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-12 12:03:42'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "5.1"> Created an attachment (id=122293) [details]</Sentence>
<Sentence ID = "5.2"> Fix v01</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-12 12:11:27'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=122297) [details]</Sentence>
<Sentence ID = "6.2"> Test case</Sentence>
<Sentence ID = "6.3"> This is a test case using your richer example</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-13 10:47:18'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "7.1"> Fix and tests released to HEAD.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-13 11:57:25'</Date>
<From>'Brian Vosburgh'</From>
<Text>
<Sentence ID = "8.1"> Sounds reasonable.</Sentence>
<Sentence ID = "8.2"> One tiny nit-pick though. </Sentence>
<Sentence ID = "8.3"> The last entry in the bullet list now reads:</Sentence>
<Sentence ID = "8.4">     a breadth-first traversal of each class's interfaces in the order returned by &amp;lt;code&amp;gt;getInterfaces&amp;lt;/code&amp;gt; (in the example, X and its superinterfaces then Y and its superinterfaces) &amp;lt;/li&amp;gt;</Sentence>
<Sentence ID = "8.5"> It might be more accurate to say:</Sentence>
<Sentence ID = "8.6">     a breadth-first traversal of each class's interfaces in the order returned by &amp;lt;code&amp;gt;getInterfaces&amp;lt;/code&amp;gt; (in the example, X's superinterfaces then Y's superinterfaces)</Sentence>
<Sentence ID = "8.7"> Since X and Y are not actually included in the \"traversal\".</Sentence>
<Sentence ID = "8.8"> Thanks.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-13 13:05:18'</Date>
<From>'John Arthome'</From>
<Text>
<Sentence ID = "9.1"> Good point, I have released this clarification to HEAD. </Sentence>
<Sentence ID = "9.2"> Thanks again.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "9">
<Title>"(328600) Firefox - Option for mailto: links to go to a web based e-mail client (webmail service)"</Title>
<Turn>
<Date>'2006-02-25 16:04:34'</Date>
<From>'Nathan M'</From>
<Text>
<Sentence ID = "1.1"> User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12)Gecko/20050915 Firefox/1.0.7 (ax)</Sentence>
<Sentence ID = "1.2"> Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12)Gecko/20050915 Firefox/1.0.7 (ax)</Sentence>
<Sentence ID = "1.3"> Firefox currently supports a wide number of stand alone e-mail applications (including it's own Thunderbird client), when an e-mail link is clicked on in Firefox.  </Sentence>
<Sentence ID = "1.4"> To the best of my knowledge it still does not support web based e-mail clients such as g-mail in this fashion.</Sentence>
<Sentence ID = "1.5"> The idea is that if one prefers to use a web based e-mail account, they should have the option to configure firefox to log into that web based e-mail account and open a compose new message window.</Sentence>
<Sentence ID = "1.6"> I understand this may require some colaboration with the popular web based e-mail services such as gmail and aim mail, but I think it would be worth the benifit.</Sentence>
<Sentence ID = "1.7"> Reproducible: Always</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-02-26 01:01:53'</Date>
<From>'Ria Klaassen'</From>
<Text>
<Sentence ID = "2.1"> Something like the WebmailCompose extension?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-02-26 01:03:00'</Date>
<From>'Jesse Ruderman'</From>
<Text>
<Sentence ID = "3.1"> Other enhancement requests like this have been marked as dups of bug 11459, but I think that's wrong.  </Sentence>
<Sentence ID = "3.2"> As far as I can tell, bug 11459 is a combination of a design flaw specific to Seamonkey and a tangentially related enhancement request that also applies to Firefox, and nothing is happening there.</Sentence>
<Sentence ID = "3.3"> It's sad that mailto: links don't work for most webmail users, especially since webmail is so popular.</Sentence>
<Sentence ID = "3.4"> Webmail services can help give users programs that alter system mailto: behavior (e.g. the unofficial \"G-Mailto\" and the official \"Gmail Notifier\"), and Firefox users can download the WebmailCompose extension, but i think it would be better if this were an option in Firefox itself.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-03-13 08:41:47'</Date>
<From>'Mike Connor'</From>
<Text>
<Sentence ID = "4.1"> Not going to block on this, would be good to have this generically for feeds as well, but this may have to wait for Gecko 1.9</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-19 09:53:34'</Date>
<From>'Ian Pottinger'</From>
<Text>
<Sentence ID = "5.1"> Using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1) Gecko/20090615</Sentence>
<Sentence ID = "5.2"> Firefox/3.5</Sentence>
<Sentence ID = "5.3"> Is this not now fixed?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-19 09:55:20'</Date>
<From>'Dan Mosedale'</From>
<Text>
<Sentence ID = "6.1"> Indeed.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "10">
<Title>"(156905) GIMP - GimpAspectPreview doesn\'t respect the layer offset and can crash"</Title>
<Turn>
<Date>'2004-10-30 14:39:50'</Date>
<From>'David Odin'</From>
<Text>
<Sentence ID = "1.1"> Open a new image,</Sentence>
<Sentence ID = "1.2"> create a layer much bigger than the image, and with a different aspect ratio.</Sentence>
<Sentence ID = "1.3"> draw something on the drawable (using some colors)</Sentence>
<Sentence ID = "1.4"> make a selection selecting only some parts of your drawing</Sentence>
<Sentence ID = "1.5"> use the channel mixer.</Sentence>
<Sentence ID = "1.6"> The selection looks wrong in the plugin, and the plugin can even crash.</Sentence>
<Sentence ID = "1.7"> This is due to the fact that the selection mask is taken with gimp_drawable_get_thumbnail_data () in the preview code.</Sentence>
<Sentence ID = "1.8"> So if the layer and the image have different size, they are streched differently.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-12-27 18:25:34'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "2.1"> Clearly what it is doing is bad, but what *should* it be doing?  </Sentence>
<Sentence ID = "2.2"> Should the preview follow the shape of the selection bounds, the image, or the drawable?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-24 20:35:14'</Date>
<From>'popolon'</From>
<Text>
<Sentence ID = "3.1"> On a big image, use crop tool on right, bottom or right bottom, click on resize.</Sentence>
<Sentence ID = "3.2"> The active picture is then little than the layer.</Sentence>
<Sentence ID = "3.3"> Using any tool with preview give a one pixel (or less ;) ) preview instead of the good one.</Sentence>
<Sentence ID = "3.4"> Compute intersection between layer and active picture could be the solution...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-24 23:56:45'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "4.1"> As far as I can see, there are two reasonable options, and either of them will require a substantial amount of fixing in the aspect preview code and the plugins that use it.  </Sentence>
<Sentence ID = "4.2"> (1) Show the entire drawable in an aspect preview, and mask changes using the current selection.</Sentence>
<Sentence ID = "4.3"> (2) Show only the part of the drawable lying within the selection bounds. </Sentence>
<Sentence ID = "4.4"> It isn't clear to me which of them is better.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-05-19 21:53:39'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "5.1"> Bumping to 2.4 since this is not likely to get fixed for 2.2</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-05-20 23:16:36'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "6.1"> Bumping to Future since this is not likely to get fixed for 2.4.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-08-14 13:25:51'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "7.1"> Setting back to the 2.4 milestone since it's a crash and should, if possible, be looked at before the 2.4 release.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-18 20:59:40'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "8.1"> Fixing this might make API changes necessary. </Sentence>
<Sentence ID = "8.2"> We need to look into this as soon as possible.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-05-05 20:43:44'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "9.1"> It would help a lot if someone could attach an example XCF file to this bug report that shows the problem.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-06-04 19:38:33'</Date>
<From>'Eric Lamarque'</From>
<Text>
<Sentence ID = "10.1"> Created an attachment (id=89354) [details]</Sentence>
<Sentence ID = "10.2"> bug156905.xcf.bz2 - a layer bigger than image</Sentence>
<Sentence ID = "10.3"> Following assertion failed using Channel mixer on the layer.</Sentence>
<Sentence ID = "10.4"> (channel_mixer:6701): LibGimpWidgets-CRITICAL **: gimp_preview_area_mask: assertion `mask != NULL' failed</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-08-21 11:18:45'</Date>
<From>'Aurimas Juska'</From>
<Text>
<Sentence ID = "11.1"> Doesn't channel mixer use GimpZoomPreview (not GimpAspectPreview)?</Sentence>
<Sentence ID = "11.2"> Seems like both GimpZoomPreview and GimpAspectPreview have problems when steps in reporter's comment are taken.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-10-14 21:55:37'</Date>
<From>'Simon Budig'</From>
<Text>
<Sentence ID = "12.1"> This one is nasty to track down.</Sentence>
<Sentence ID = "12.2"> The example image has dimensions 377*233, the selection starts at x=125, y=97 and extends to the lower right corner of the image.</Sentence>
<Sentence ID = "12.3"> The preview code then calls gimp_drawable_get_sub_thumbnail on the selection mask with the following coordinates:</Sentence>
<Sentence ID = "12.4">   src_x: 117, src_y: 89, src_w: 268, src_h: 152</Sentence>
<Sentence ID = "12.5"> which unsurprisingly fails, since src_x+src_w is bigger than the selection mask width.</Sentence>
<Sentence ID = "12.6"> The source coordinates seem wrong to me and originate from gimp_zoom_preview_get_source_area(), but I have not yet tracked this down.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-31 16:04:51'</Date>
<From>'Aurimas Juska'</From>
<Text>
<Sentence ID = "13.1"> Created an attachment (id=117704) [details]</Sentence>
<Sentence ID = "13.2"> GimpZoomPreview handle layer offsets</Sentence>
<Sentence ID = "13.3"> This patch should fix GimpZoomPreview to handle layers with offsets with selections. </Sentence>
<Sentence ID = "13.4"> Area displayed in preview is intersection of layer and selection.</Sentence>
<Sentence ID = "13.5"> If there are no objections, I could commit the patch.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-08-31 17:35:17'</Date>
<From>'Aurimas Juska'</From>
<Text>
<Sentence ID = "14.1"> For GimpAspectPreview selection mask has to be applied for thumbnail of the whole drawable (selection can intersect partialy with drawable area).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-01 20:06:56'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "15.1"> Please commit this. </Sentence>
<Sentence ID = "15.2"> It doesn't make sense to patch 2 [details].4 at this point. </Sentence>
<Sentence ID = "15.3"> So please do this in trunk only.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-09-02 17:58:01'</Date>
<From>'Aurimas Juska'</From>
<Text>
<Sentence ID = "16.1"> 2008-09-02  Aurimas JuÅ¡ka  &amp;lt;aurisj@svn.gnome.org&amp;gt;</Sentence>
<Sentence ID = "16.2"> &amp;gt;-------* libgimp/gimpzoompreview.c (gimp_zoom_preview_draw_buffer),</Sentence>
<Sentence ID = "16.3"> &amp;gt;-------(gimp_zoom_preview_set_drawable): fixed GimpZoomPreview to handle</Sentence>
<Sentence ID = "16.4"> &amp;gt;-------layers with offsets and display intersection of layer and selection</Sentence>
<Sentence ID = "16.5"> &amp;gt;-------in the preview. (bug #156905)</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "11">
<Title>"(164995) GIMP - Remember last scale method setting"</Title>
<Turn>
<Date>'2005-01-23 16:11:42'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "1.1"> When images are rescaled now the GIMP always defaults to linear scaling.</Sentence>
<Sentence ID = "1.2"> Sometimes I want to do a bunch of images with cubic scaling. </Sentence>
<Sentence ID = "1.3"> It would be handy that the scale dialog just remembered the last setting and always present that one.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-23 16:43:42'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "2.1"> The default interpolation routine can be choosen in the Preferences dialog.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-23 16:54:22'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "3.1"> I just thought it would be easier if it just remembered the last setting, that way a newbie does not have to search trough the preferences, and it is handy if you want to scale a set of images in a different way as normally</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-23 20:18:39'</Date>
<From>'Albert Cahalan'</From>
<Text>
<Sentence ID = "4.1"> Jaap is right. </Sentence>
<Sentence ID = "4.2"> I didn't know about the preferences setting until I saw this bug report.</Sentence>
<Sentence ID = "4.3"> This applies in general to options that the user can set without going into the preferences dialog: just remember the last setting, and there is no need for an entry in the preferences dialog.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-23 20:32:27'</Date>
<From>'Michael Schumacher '</From>
<Text>
<Sentence ID = "5.1"> We would need an entry whether to save the last used setting, for the users who don't want this.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-23 22:13:02'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "6.1"> Michael, I don't agree with having an extra entry whether to save the setting yes or no. </Sentence>
<Sentence ID = "6.2"> This would clutter the interface even more. </Sentence>
<Sentence ID = "6.3"> Because you then still need an entry in preferences and you need an extra entry in the scale dialog whether to save the last used setting. </Sentence>
<Sentence ID = "6.4"> Just always remembering the last setting is conceptually by far the easiest for new users. </Sentence>
<Sentence ID = "6.5"> Furthermore I think it's not really a problem if you have to change the setting now and then (In your case you also have to click once more to not save the setting). </Sentence>
<Sentence ID = "6.6"> And most of the times you will not change this setting.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-01-24 10:27:50'</Date>
<From>'RaphaÃ«l Quinet'</From>
<Text>
<Sentence ID = "7.1"> I agree that it is convenient to be able to set a default value from the place it is used (e.g., the Image-&amp;gt;Scale dialog) instead of having to open the Preferences and find the corresponding option.</Sentence>
<Sentence ID = "7.2"> This is very useful for those who are not familiar with all options available in the Preferences.</Sentence>
<Sentence ID = "7.3"> However, I disagree with the proposal that the last setting should automatically become the default: I have set the default to Cubic (I might change it to Lanczos soon) and I expect it to be used all the time. </Sentence>
<Sentence ID = "7.4"> But from time to time, I scale up a bitmap image without interpolation.</Sentence>
<Sentence ID = "7.5"> I don't want this to become the new default and give me bad results when I scale up another image two days later.</Sentence>
<Sentence ID = "7.6"> So if there is a way to change the default from the Scale dialog (which is probably a good idea), then it should require an explicit action from the user.</Sentence>
<Sentence ID = "7.7"> This could be a button like \"set default\" or a checkbox \"remember this setting\" next to the \"Interpolation type\" dropdown list.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-24 09:14:11'</Date>
<From>'gg'</From>
<Text>
<Sentence ID = "8.1"> &amp;gt;&amp;gt;Jaap is right. I didn't know about the preferences setting until I saw this bug report.</Sentence>
<Sentence ID = "8.2"> LOL, me too.</Sentence>
<Sentence ID = "8.3"> I think the suggestion for a \"set as defaults\" button here is a good all-round solution that satisfies both camps.</Sentence>
<Sentence ID = "8.4"> See this bug for request to deal with scaling units (percent/pixel) in the same way.</Sentence>
<Sentence ID = "8.5"> http://bugzilla.gnome.org/show_bug.cgi?id=357424</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-14 16:56:40'</Date>
<From>'Michael Natterer'</From>
<Text>
<Sentence ID = "9.1"> I think a \"set as defaults\" button would clutter the UI. </Sentence>
<Sentence ID = "9.2"> This change remember the settings across dialog invocations.</Sentence>
<Sentence ID = "9.3"> Closing as FIXED.</Sentence>
<Sentence ID = "9.4"> (Please reopen if you strongly disagree, but please not without a non-ugly suggestion for a GUI)</Sentence>
<Sentence ID = "9.5"> 2006-10-14  Michael Natterer  &amp;lt;mitch@gimp.org&amp;gt;</Sentence>
<Sentence ID = "9.6">     Remember the settings in the scale and resize dialogs for images and layers. </Sentence>
<Sentence ID = "9.7"> Fixes bug #164995, bug #316392, and bug #357424.</Sentence>
<Sentence ID = "9.8">     * app/dialogs/scale-dialog.h: removed GimpScaleCallback typedef.</Sentence>
<Sentence ID = "9.9">     * app/dialogs/dialogs-types.h: added it here.</Sentence>
<Sentence ID = "9.10">     * app/dialogs/image-scale-dialog.[ch]: made the ImageScaleDialog struct private, return a GtkWidget* from image_scale_dialog_new() and use a GimpScaleCallback in the public API.</Sentence>
<Sentence ID = "9.11">     * app/actions/actions-types.h: #include \"dialogs/dialogs-types.h\"</Sentence>
<Sentence ID = "9.12">     * app/actions/image-commands.c: changed according to image scale dialog changes. Remember the scale dialog's unit (if it is \"percent\") and interpolation type across dialog invocations.</Sentence>
<Sentence ID = "9.13">  Also remember the resize dialog's unit (if it is \"percent\").</Sentence>
<Sentence ID = "9.14">     * app/actions/layers-commands.c: remember scale and resize dialog stuff as in image-commands.c</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "12">
<Title>"(170801) GIMP - Converting image from grayscale to black&amp;white is painfully slow"</Title>
<Turn>
<Date>'2005-03-18 14:46:31'</Date>
<From>'Xuan Baldauf'</From>
<Text>
<Sentence ID = "1.1"> 1. Open a large grayscale image of your choice (e.g. larger than 2000*2000 pixels, maybe a scan result from your scanner)</Sentence>
<Sentence ID = "1.2"> 2. Use \"Tools/Color Tools/Threshold\" to apply some threshold choosen arbitrarily. </Sentence>
<Sentence ID = "1.3"> This tool is pretty fast.</Sentence>
<Sentence ID = "1.4"> 3. Now you have a 8bit grayscale image, which actually consists only of color values \"0\" and color values \"255\".</Sentence>
<Sentence ID = "1.5">  </Sentence>
<Sentence ID = "1.6"> Converting it to a 1bit black&amp;white image should be a very fast operation (replacing 0 (8bit) by 0 (1bit) and replacing 255 (8bit) by 1 (1bit)), but it is not:</Sentence>
<Sentence ID = "1.7"> 4. Choose \"Image/Mode/Indexed...\", and there:</Sentence>
<Sentence ID = "1.8"> 4.1 Colormap: \"Use black and white (1-bit) palette)\" (this should be the fastest option possible)</Sentence>
<Sentence ID = "1.9"> 4.2 Dithering: \"none\" (this should be the fastest option possible)</Sentence>
<Sentence ID = "1.10"> 4.3 Now hit \"OK\"</Sentence>
<Sentence ID = "1.11"> 5. The conversion will work, but it will take many seconds. </Sentence>
<Sentence ID = "1.12"> For an example image of \"2460*3483\", it takes 34 seconds on my computer (while applying the Threshold tool, which basically does the same, only needs maybe 2 seconds).</Sentence>
<Sentence ID = "1.13"> This slow speed is not acceptable for interactive image processing, and this slowness is not necessary at all.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-18 17:07:32'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "2.1"> Indeed it is very slow, so I will confirm this bug report.</Sentence>
<Sentence ID = "2.2"> There is, however, a workaround.  </Sentence>
<Sentence ID = "2.3"> I found with a little experimentation that if you use the \"Optimal Palette\" option for step 4.1, then the conversion occurs in a flash, literally a fraction of a second for me.</Sentence>
<Sentence ID = "2.4"> This happens, I think, because if you use this option, by the time the algorithm reaches the stage of actually converting the image, it has built a color histogram and \"knows\" that there are exactly two colors in the image, and can assign colors directly, without having to test whether black or white is the best match for each pixel.</Sentence>
<Sentence ID = "2.5"> Because of the existence of this workaround, I am going to lower the severity, but this *is* something that should be looked into.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-18 17:36:31'</Date>
<From>'Xuan Baldauf'</From>
<Text>
<Sentence ID = "3.1"> Created an attachment (id=38911) [details]</Sentence>
<Sentence ID = "3.2"> Image where to 1bit conversion is either slow or buggy (with GIMP 2.2.4)</Sentence>
<Sentence ID = "3.3"> That's odd. </Sentence>
<Sentence ID = "3.4"> I just tried to use your suggested workaround and was happy that the conversion was as fast one should expect.</Sentence>
<Sentence ID = "3.5"> However, the conversion was plainly wrong, it produced an image which was just black (the input image was nearly white).</Sentence>
<Sentence ID = "3.6"> I'm attaching a test case image. This may be a related bug.</Sentence>
<Sentence ID = "3.7"> Do following on the atached image:</Sentence>
<Sentence ID = "3.8"> 1. Choose \"Image/Mode/Indexed...\", and there:</Sentence>
<Sentence ID = "3.9"> 1.1 Colormap: optimal palette (wether 2 oder 256 colors, it does not matter)</Sentence>
<Sentence ID = "3.10"> 1.2 Dithering: \"none\" (but I think it does not matter)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-18 18:02:11'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "4.1"> Interesting -- clearly the generation of an optimal palette is not done correctly for this image.</Sentence>
<Sentence ID = "4.2"> Because this is a different issue, I am going to open a different bug report for it -- using your image as example, if you don't mind.</Sentence>
<Sentence ID = "4.3"> In any case, I've found a solution to the original problem, I think.</Sentence>
<Sentence ID = "4.4"> I found a very simple change that gives a major speedup when converting grayscale images to the mono palette.</Sentence>
<Sentence ID = "4.5"> It's now at least as fast as the Threshold tool, so I'm going to resolve this bug as FIXED.  </Sentence>
<Sentence ID = "4.6"> Still just as slow for RGB images, though.  </Sentence>
<Sentence ID = "4.7"> Committed to both branches:</Sentence>
<Sentence ID = "4.8"> 2005-03-18  Bill Skaggs  &amp;lt;weskaggs@primate.ucdavis.edu&amp;gt;</Sentence>
<Sentence ID = "4.9"> 	* app/core/gimpimage-convert.c:  when converting grayscale to mono, treat the palette as gray rather than rgb, giving 	more than tenfold speedup.  </Sentence>
<Sentence ID = "4.10"> Fixes bug #170801.</Sentence>
<Sentence ID = "4.11"> The new problem is described in bug #170825</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-18 18:08:42'</Date>
<From>'Xuan Baldauf'</From>
<Text>
<Sentence ID = "5.1"> I'd be pleased if you used my test case image. :-)</Sentence>
<Sentence ID = "5.2"> Thank you for fixing this bug so fast, so I just need to wait for the next release. </Sentence>
<Sentence ID = "5.3"> (Building for Windows would be rather messy, so I try to be patient...)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-19 13:12:31'</Date>
<From>'Adam D. Moss'</From>
<Text>
<Sentence ID = "6.1"> I'm interested in seeing the patch.  </Sentence>
<Sentence ID = "6.2"> If you can't attach it then what revision of gimpimage-convert.c contains the fix?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-19 17:48:16'</Date>
<From>'Manish Singh'</From>
<Text>
<Sentence ID = "7.1"> Revision 1.156. Here is the patch:</Sentence>
<Sentence ID = "7.2"> --- gimpimage-convert.c 27 Feb 2005 14:03:50 -0000      1.155</Sentence>
<Sentence ID = "7.3"> +++ gimpimage-convert.c 18 Mar 2005 17:34:34 -0000      1.156</Sentence>
<Sentence ID = "7.4"> @@ -4057,7 +4057,6 @@ initialize_median_cut (GimpImageBaseType</Sentence>
<Sentence ID = "7.5">          }</Sentence>
<Sentence ID = "7.6">        if (palette_type == GIMP_WEB_PALETTE  ||</Sentence>
<Sentence ID = "7.7"> -          palette_type == GIMP_MONO_PALETTE ||</Sentence>
<Sentence ID = "7.8">            palette_type == GIMP_CUSTOM_PALETTE)</Sentence>
<Sentence ID = "7.9">          {</Sentence>
<Sentence ID = "7.10">            switch (dither_type)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-19 18:14:01'</Date>
<From>'Adam D. Moss'</From>
<Text>
<Sentence ID = "8.1"> Thanks.</Sentence>
<Sentence ID = "8.2"> That's interesting.  </Sentence>
<Sentence ID = "8.3"> I expect it to yield poorer results though, to some extent (probably most obviously darker, or lighter, in mid-greys, that is a damaged gamma), because the greyscale colour-matching and error-quantifying is in a comparatively non-perceptually-uniform space (that's half the reason why it's faster, though it's not as big a quality difference in a greyscale source as an RGB source).</Sentence>
<Sentence ID = "8.4"> Were side-by-side comparisons done?  </Sentence>
<Sentence ID = "8.5"> I hope so, though I could do some here if anyone cares.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-19 18:21:59'</Date>
<From>'Manish Singh'</From>
<Text>
<Sentence ID = "9.1"> I don't think anyone has done side-by-side comparisons.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-20 12:18:10'</Date>
<From>'Adam D. Moss'</From>
<Text>
<Sentence ID = "10.1"> differences, but not so strong that I'm really going to lose any sleep.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-20 12:26:09'</Date>
<From>'Adam D. Moss'</From>
<Text>
<Sentence ID = "11.1"> Note that the analysis in comment #1 is correct; </Sentence>
<Sentence ID = "11.2"> the 'optimal' palette finder does a first pass to see if there are already a suitable number of colours, and then knows that it can skip both the expensive quantization and dithering stages.</Sentence>
<Sentence ID = "11.3"> The 'mono' palette option doesn't even bother to start this pre-pass because it could only possibly pay off the extra effort if the entire image is pure black and pure white, which is expected to be a comparatively rare occurance.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-20 13:06:07'</Date>
<From>'Xuan Baldauf'</From>
<Text>
<Sentence ID = "12.1"> &amp;gt; The 'mono' palette option doesn't even bother to start this pre-pass because it could only possibly pay off the extra effort if the entire image is pure black and pure white, which is expected to be a comparatively rare occurance.</Sentence>
<Sentence ID = "12.2"> I don't think that this operation is so rare, because for getting an \"optimal distribution between black and white\" for grayscale images (for example: you want to generate faximilies the receiver actually is able to read), you use the</Sentence>
<Sentence ID = "12.3"> \"threshold\" operation, and then a \"convert to 1bit\" operation to actually adjust the internal memory requirements.</Sentence>
<Sentence ID = "12.4"> So at least for me, this chain of operations is rather frequent.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-20 14:01:48'</Date>
<From>'Adam D. Moss'</From>
<Text>
<Sentence ID = "13.1"> &amp;gt; and then a \"convert to 1bit\" operation to actually adjust the internal memory requirements.</Sentence>
<Sentence ID = "13.2"> If you mean GIMP's internal memory requirements you're wasting your time -- all Indexed images are 8/16bpp internally (the same as greyscale images), so you're not saving any memory (instead you may be using quite a lot more, for various</Sentence>
<Sentence ID = "13.3"> reasons).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-20 14:04:13'</Date>
<From>'Xuan Baldauf'</From>
<Text>
<Sentence ID = "14.1"> I mean OpenOffice's internal memory requirements. </Sentence>
<Sentence ID = "14.2"> For having 10 or 20 fax pages in one OOo document, it quite makes a difference wether they are 8bit or 1bit.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "13">
<Title>"(364852) GIMP - screenshot plug-in incomplete for Windows platform"</Title>
<Turn>
<Date>'2006-10-24 23:31:40'</Date>
<From>'apf'</From>
<Text>
<Sentence ID = "1.1"> Please describe the problem:</Sentence>
<Sentence ID = "1.2"> When going to File-&amp;gt;Acquire-&amp;gt;Screenshot in the Windows port of the development build GIMP 2.3.11, firstly there are two different entries \"Screen Shot\" and \"Screenshot\" and secondly, functionality to grab only a portion of the screen is broken.</Sentence>
<Sentence ID = "1.3"> There is no option to \"Select a Region to Grab\" when the user chooses \"Screen Shot.\"</Sentence>
<Sentence ID = "1.4"> However, this option exists in the dialogue box that appears after the user selects :Screenshot.\" </Sentence>
<Sentence ID = "1.5"> However, the functionality does not work, even after selecting a long delay period.</Sentence>
<Sentence ID = "1.6"> Instead, the whole screen is captured each time.  </Sentence>
<Sentence ID = "1.7"> I was expecting the mouse cursor onscreen to change to \"crosshairs\" or something similar to allow me to select the region I required.</Sentence>
<Sentence ID = "1.8"> Steps to reproduce:</Sentence>
<Sentence ID = "1.9"> 1. Launch GIMP 2.3.11 Development for Windows on a Windows 2000 platform.</Sentence>
<Sentence ID = "1.10"> 2. Got o File-&amp;gt;Acquire-&amp;gt;Screenshot.  (Note the two different entries for \"Screen Shot\" and \"Screenshot\".)</Sentence>
<Sentence ID = "1.11"> 3. Tick \"Select a Region to Grab.\"  </Sentence>
<Sentence ID = "1.12"> 4.  Set the delay.</Sentence>
<Sentence ID = "1.13"> 5.  Click \"Grab.\"</Sentence>
<Sentence ID = "1.14"> Actual results:</Sentence>
<Sentence ID = "1.15"> The whole screen is captured each time.</Sentence>
<Sentence ID = "1.16"> Expected results:</Sentence>
<Sentence ID = "1.17"> The ability to select a portion of the screen would be available, probably via mouse click-and-drag functionality.</Sentence>
<Sentence ID = "1.18"> Does this happen every time?</Sentence>
<Sentence ID = "1.19"> Yes.</Sentence>
<Sentence ID = "1.20"> Other information:</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-24 23:40:30'</Date>
<From>'apf'</From>
<Text>
<Sentence ID = "2.1"> (I presume the two entries for screenshots under the submenu are there in order to test old and new code, by the way but I just noted it in case there was an issue.)</Sentence>
<Sentence ID = "2.2"> D. Le Sage</Sentence>
<Sentence ID = "2.3"> APF</Sentence>
<Sentence ID = "2.4"> Hobart, Tasmania</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-25 13:13:37'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "3.1"> We know that the port of the screenshot plug-in for Windows is incomplete.</Sentence>
<Sentence ID = "3.2"> What's this bug-report about? </Sentence>
<Sentence ID = "3.3"> Do you want to contribute the missing bits or do you want us to disable the plug-in for the Windows platform? </Sentence>
<Sentence ID = "3.4"> We are waiting for a volunteer to implement the missing functionality for more than a year now.</Sentence>
<Sentence ID = "3.5"> Perhaps it's about time to drop support for the Win32 platform completely.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-27 01:18:43'</Date>
<From>'apf'</From>
<Text>
<Sentence ID = "4.1"> Sven,</Sentence>
<Sentence ID = "4.2"> The bug report was to alert you in case you did not know it was broken.  </Sentence>
<Sentence ID = "4.3"> You are obviously aware it is incomplete.  </Sentence>
<Sentence ID = "4.4"> Perhaps you should disable it to prevent more questions from users.</Sentence>
<Sentence ID = "4.5"> I am not a programmer so I cannot implement the functionality.  </Sentence>
<Sentence ID = "4.6"> I am trying to do my part by reporting issues for you.</Sentence>
<Sentence ID = "4.7"> You have complained before about how short of volunteers you are.  </Sentence>
<Sentence ID = "4.8"> If this is the case, perhaps it is a very good idea to drop support for Win32 and consolidate on making sure the *Nix implementation is as good as possible. </Sentence>
<Sentence ID = "4.9"> Supporting Win32 is probably just draining more resources away.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-27 10:21:23'</Date>
<From>'Michael Schumacher'</From>
<Text>
<Sentence ID = "5.1"> IIRC Tor is working on this.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-10-27 11:49:39'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "6.1"> apf, you are using a development version. </Sentence>
<Sentence ID = "6.2"> Of course there are incomplete and even broken features in there. </Sentence>
<Sentence ID = "6.3"> If you are just a user, you should be using the stable release.</Sentence>
<Sentence ID = "6.4"> Tor said that it is impossible to implement the look and feel of the X11 screenshot plug-in on the Windows platform. </Sentence>
<Sentence ID = "6.5"> He suggested that we stick with Winsnap for the Win32.</Sentence>
<Sentence ID = "6.6"> 2006-10-27  Sven Neumann  &amp;lt;sven@gimp.org&amp;gt;</Sentence>
<Sentence ID = "6.7">     * configure.in</Sentence>
<Sentence ID = "6.8">     * plug-ins/common/plugin-defs.pl</Sentence>
<Sentence ID = "6.9">     * plug-ins/common/Makefile.am: reverted changes from 2006-04-06 and build screenshot plug-in optionally again. </Sentence>
<Sentence ID = "6.10"> Fixes bug #364852.</Sentence>
<Sentence ID = "6.11">     * plug-ins/common/mkgen.pl: reverted addition of 'extralibs' parameter that was introduced for the screenshot plug-in only.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "14">
<Title>"(168803) GnuCash - Exporting Reports with graphs"</Title>
<Turn>
<Date>'2005-02-28 18:44:07'</Date>
<From>'Dennis Schaaf'</From>
<Text>
<Sentence ID = "1.1"> Please describe the problem:</Sentence>
<Sentence ID = "1.2"> When I try to export reports that contain graphs gnuCash just creates an empty html file.</Sentence>
<Sentence ID = "1.3"> Also it is not clear that the export can only do html files. </Sentence>
<Sentence ID = "1.4"> The first time I ran export I triped to save as .jpg and it created a html file named foo.jpg</Sentence>
<Sentence ID = "1.5"> Steps to reproduce:</Sentence>
<Sentence ID = "1.6"> 1. In gnuCash go on reports and create any report that contains a graph</Sentence>
<Sentence ID = "1.7"> 2. In the report window click on Export </Sentence>
<Sentence ID = "1.8"> 3. Save export to \"foo.html\"</Sentence>
<Sentence ID = "1.9"> Actual results:</Sentence>
<Sentence ID = "1.10"> An empty HTML file is saved</Sentence>
<Sentence ID = "1.11"> Expected results:</Sentence>
<Sentence ID = "1.12"> A HTML file with a nice graph </Sentence>
<Sentence ID = "1.13"> Does this happen every time?</Sentence>
<Sentence ID = "1.14"> Yes</Sentence>
<Sentence ID = "1.15"> Other information:</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-03-01 09:55:26'</Date>
<From>'Christian Stimming '</From>
<Text>
<Sentence ID = "2.1"> Yes, that's true -- the current graphing code, which uses the graphical library \"Guppi\" which is a dead project, can only produce the on-screen diagrams *and* print these to postscript, but it cannot export these diagrams into pictures that are embedded in a HTML-file. </Sentence>
<Sentence ID = "2.2"> In other words, you can only print the diagrams to postscript but not export them to HTML. </Sentence>
<Sentence ID = "2.3"> This is not going to change before the gnome2 port is completed, because we need to switch to a different graphical library before anything related to this can be changed. </Sentence>
<Sentence ID = "2.4"> See http://gnomesupport.org/wiki/index.php/GnuCashPortingStatus for the porting status.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-02-24 01:03:38'</Date>
<From>'Josh Sled'</From>
<Text>
<Sentence ID = "3.1"> Definitely keep it as a reminder.</Sentence>
<Sentence ID = "3.2"> We should be able to coax anything into giving us a PNG; GOG supports SVG export, too.  </Sentence>
<Sentence ID = "3.3"> But it looks like gtkhtml doesn't support saving &amp;lt;object /&amp;gt; data.</Sentence>
<Sentence ID = "3.4"> Because it sucks ass.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-01-03 11:46:11'</Date>
<From>'Fred Blaise'</From>
<Text>
<Sentence ID = "4.1"> This is still valid for me with version 2.0.4 on opensuse 10.2. </Sentence>
<Sentence ID = "4.2"> This is a real problem not to be able to export these reports. </Sentence>
<Sentence ID = "4.3"> This shouldn't be tagged 'enhancement' anymore, but brought up higher.</Sentence>
<Sentence ID = "4.4"> What's the status on this? </Sentence>
<Sentence ID = "4.5"> Thank you.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-01-03 15:24:29'</Date>
<From>'Josh Sled'</From>
<Text>
<Sentence ID = "5.1"> (In reply to comment #4)</Sentence>
<Sentence ID = "5.2"> &amp;gt; This is still valid for me with version 2.0.4 on opensuse 10.2. </Sentence>
<Sentence ID = "5.3"> &amp;gt; This is a real &amp;gt; problem not to be able to export these reports. </Sentence>
<Sentence ID = "5.4"> &amp;gt; This shouldn't be tagged 'enhancement' anymore, but brought up higher.</Sentence>
<Sentence ID = "5.5"> &amp;gt; What's the status on this? </Sentence>
<Sentence ID = "5.6"> There's no change on this.</Sentence>
<Sentence ID = "5.7"> I wonder if the more recent gtkhtml supports getting at &amp;lt;object /&amp;gt;s, or if the more recent GOG makes it trivial to create a PNG.</Sentence>
<Sentence ID = "5.8"> In any case, I hesitate to do so, but I've raised the severity to Normal -- a minor part of the component (Reports, export, graphs) does not work.</Sentence>
<Sentence ID = "5.9"> (FWIW, Fred, it's not going to get fixed any faster at Normal than at Enhancement.)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-08-08 00:49:35'</Date>
<From>'datakid'</From>
<Text>
<Sentence ID = "6.1"> I can confirm this using GnuCash 2.0.5 on Ubuntu 7.04, feisty fawn...and I can confirm that it's frustrating....</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-01 15:06:33'</Date>
<From>'Beto Zamora'</From>
<Text>
<Sentence ID = "7.1"> 2.2.8, still doesn't have this needed feature... Frustration also confirmed.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-26 19:37:33'</Date>
<From>'Phil Longstaff'</From>
<Text>
<Sentence ID = "8.1"> GtkHtml provides a callback when it encounters a &amp;lt;object&amp;gt; tag, and gnc-html then calls gog to create the image as a GdkPixbuf and then embed it in the web page.  </Sentence>
<Sentence ID = "8.2"> For the webkit port, there is no &amp;lt;object&amp;gt; callback.  </Sentence>
<Sentence ID = "8.3"> Therefore, gnc-html-webkit pre-parses the html string, finds the &amp;lt;object&amp;gt; tag, calls gog with the parameter values from the &amp;lt;object&amp;gt; to create a GdkPixbuf, then converts the pixels to png/base64 and embeds the html &amp;lt;img&amp;gt; in the original</Sentence>
<Sentence ID = "8.4"> where the &amp;lt;object&amp;gt; was.  </Sentence>
<Sentence ID = "8.5"> Result is a graph that displays in webkit.  </Sentence>
<Sentence ID = "8.6"> In addition, gnc-html-webkit saves the html passed to webkit and handles the export itself by writing that html to a file.</Sentence>
<Sentence ID = "8.7"> This fix is targetted for 2.4.  </Sentence>
<Sentence ID = "8.8"> I can also convert gnc-html-gtkhtml to use these two features (convert graph to embedded &amp;lt;img&amp;gt; and do the export rather</Sentence>
<Sentence ID = "8.9"> than getting gtkhtml to do it) for those who can't build 2.4 with webkit.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-20 22:59:59'</Date>
<From>'Phil Longstaff'</From>
<Text>
<Sentence ID = "9.1"> It turns out that gtkhtml (at least the version I have on Ubuntu 9.04) doesn't support inline images.  </Sentence>
<Sentence ID = "9.2"> Therefore, this will only be possible using webkit.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-11-15 14:19:15'</Date>
<From>'Christian Stimming '</From>
<Text>
<Sentence ID = "10.1"> The gnucash-1.8.x series is no longer developed. </Sentence>
<Sentence ID = "10.2"> We may keep this enhancement request as a reminder, though.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "15">
<Title>"(522933) gvfs - copying or deleting a directory leads to a file not available error"</Title>
<Turn>
<Date>'2008-03-17 11:45:56'</Date>
<From>'Sebastian Bacher'</From>
<Text>
<Sentence ID = "1.1"> Using the current gvfs svn and nautilus 2.22.0, when doing a dnd from a directory on a proftpd server nautilus returns a file not available error. </Sentence>
<Sentence ID = "1.2"> It does the same when trying to delete the directory. </Sentence>
<Sentence ID = "1.3"> Copying the same directory using mirror in lftp works correctly</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-08 16:15:31'</Date>
<From>'WladyX'</From>
<Text>
<Sentence ID = "2.1"> i get this too.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-27 16:53:18'</Date>
<From>'Martin JÃ¼rgens'</From>
<Text>
<Sentence ID = "3.1"> yup me too</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-27 19:04:15'</Date>
<From>'Justin Haygood'</From>
<Text>
<Sentence ID = "4.1"> *** Bug 524421 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-27 21:52:16'</Date>
<From>'Hans Petter Jansson'</From>
<Text>
<Sentence ID = "5.1"> We're getting this in openSUSE too, and it seems to happen with all kinds of FTP servers.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-27 21:52:40'</Date>
<From>'Hans Petter Jansson'</From>
<Text>
<Sentence ID = "6.1"> The openSUES bug is</Sentence>
<Sentence ID = "6.2"> https://bugzilla.novell.com/show_bug.cgi?id=382360</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-28 16:04:30'</Date>
<From>'Tomas Bzatek'</From>
<Text>
<Sentence ID = "7.1"> This is caused by broken backends. </Sentence>
<Sentence ID = "7.2"> Any attempts to open or copy/move a directory should fail with G_IO_ERROR_IS_DIRECTORY. </Sentence>
<Sentence ID = "7.3"> GIO functions and Nautilus rely on that.</Sentence>
<Sentence ID = "7.4"> Fix for gvfs-smb is now in trunk and gnome-2-22 branch. </Sentence>
<Sentence ID = "7.5"> Working on FTP fix right now.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-30 15:28:33'</Date>
<From>'Tomas Bzatek'</From>
<Text>
<Sentence ID = "8.1"> Created an attachment (id=111807) [details]</Sentence>
<Sentence ID = "8.2"> gvfs-ftp-read-directory.patch</Sentence>
<Sentence ID = "8.3"> Proposed patch. </Sentence>
<Sentence ID = "8.4"> Introducing new system of handling error 550 messages based on Benjamin's idea. </Sentence>
<Sentence ID = "8.5"> So far only simple check if the target is directory has been implemented.</Sentence>
<Sentence ID = "8.6"> Please review the patch, I especially don't like keeping references to GVfsBackendFtp and processed file in the FtpConnection object but it is the easiest way to do it.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-02 09:32:20'</Date>
<From>'Benjamin Otte'</From>
<Text>
<Sentence ID = "9.1"> The patch gets the gist of what I want, but it looks ugly in places. </Sentence>
<Sentence ID = "9.2"> Here's what I think on how to solve those:</Sentence>
<Sentence ID = "9.3"> My idea was that the error handlers should be implemented with simple ftp_connection_send() commands, that set errors automatically. </Sentence>
<Sentence ID = "9.4"> So the is_directory handler would look something like this:</Sentence>
<Sentence ID = "9.5"> static void</Sentence>
<Sentence ID = "9.6"> error_550_is_directory (FtpConnection *conn, const FtpFile *file)</Sentence>
<Sentence ID = "9.7"> {</Sentence>
<Sentence ID = "9.8">   guint response = ftp_connection_send (conn,  RESPONSE_PASS_500, \"cwd %s\", file);</Sentence>
<Sentence ID = "9.9">   if (response == 550)</Sentence>
<Sentence ID = "9.10">     {</Sentence>
<Sentence ID = "9.11">       g_set_error (&amp;conn-&amp;gt;error, G_IO_ERROR,  G_IO_ERROR_IS_DIRECTORY, _(\"File is a directory\"));</Sentence>
<Sentence ID = "9.12">     }</Sentence>
<Sentence ID = "9.13">   else if (STATUS_GROUP (response) == 5)</Sentence>
<Sentence ID = "9.14">     {</Sentence>
<Sentence ID = "9.15">       ftp_connection_set_error_from_response (conn, response);</Sentence>
<Sentence ID = "9.16">     }</Sentence>
<Sentence ID = "9.17"> }</Sentence>
<Sentence ID = "9.18"> So we'd have a bunch of error handlers named error_550_$ERROR_WE_CHECK() like error_550_not_found or  error_550_permission_denied that do some ftp sending magic to figure out specific things.</Sentence>
<Sentence ID = "9.19"> While writing the above code, it occured to me that we might want to have a new flag \"RESPONSE_PASS_550\" just for the 550 error code, which would help in quite some cases and make the above function look like this:</Sentence>
<Sentence ID = "9.20"> static void</Sentence>
<Sentence ID = "9.21"> error_550_check_directory (FtpConnection *conn, const FtpFile *file)</Sentence>
<Sentence ID = "9.22"> {</Sentence>
<Sentence ID = "9.23">   guint response = ftp_connection_send (conn,  RESPONSE_PASS_550, \"cwd %s\", file);</Sentence>
<Sentence ID = "9.24">   if (response == 550)</Sentence>
<Sentence ID = "9.25">     {</Sentence>
<Sentence ID = "9.26">       g_set_error (&amp;conn-&amp;gt;error, G_IO_ERROR,  G_IO_ERROR_IS_DIRECTORY, _(\"File is a directory\"));</Sentence>
<Sentence ID = "9.27">     }</Sentence>
<Sentence ID = "9.28"> }</Sentence>
<Sentence ID = "9.29"> I also think that we want a seperate ftp_connection_send_and_check function, that does the job of doing special 550 checks, as there's a lot of cases where those aren't needed. </Sentence>
<Sentence ID = "9.30"> The code would roughly look like this:</Sentence>
<Sentence ID = "9.31"> typedef void (* Ftp550Handler) (FtpConnection *conn, const FtpFile *file);</Sentence>
<Sentence ID = "9.32"> static void</Sentence>
<Sentence ID = "9.33"> ftp_connection_check_file (FtpConnection *conn,  const Ftp550Handler *handlers, const FtpFile *file)</Sentence>
<Sentence ID = "9.34"> {</Sentence>
<Sentence ID = "9.35">   while (*handlers &amp;&amp; !ftp_connection_in_error (conn))</Sentence>
<Sentence ID = "9.36">     {</Sentence>
<Sentence ID = "9.37">       handlers (conn, file);</Sentence>
<Sentence ID = "9.38">       handlers++;</Sentence>
<Sentence ID = "9.39">     }</Sentence>
<Sentence ID = "9.40"> }</Sentence>
<Sentence ID = "9.41"> static guint</Sentence>
<Sentence ID = "9.42"> ftp_connection_send_and_check (FtpConnection *conn, ResponseFlags flags, const Ftp550Handler *handlers, const FtpFile *file,  const char *format, ...) G_GNUC_PRINTF (5, 6)</Sentence>
<Sentence ID = "9.43"> {</Sentence>
<Sentence ID = "9.44">   va_list varargs;</Sentence>
<Sentence ID = "9.45">   guint response;</Sentence>
<Sentence ID = "9.46">   /* check that there's no 550 handling used - don't allow bad use of API */</Sentence>
<Sentence ID = "9.47">   g_return_val_if_fail (flags &amp; | == 0, 0);</Sentence>
<Sentence ID = "9.48">   g_return_val_if_fail (handlers != NULL, 0);</Sentence>
<Sentence ID = "9.49">   g_return_val_if_fail (file != NULL, 0);</Sentence>
<Sentence ID = "9.50">   va_start (varargs, format);</Sentence>
<Sentence ID = "9.51">   response = ftp_connection_sendv (conn,</Sentence>
<Sentence ID = "9.52">                    flags | RESPONSE_PASS_550, format, varargs);</Sentence>
<Sentence ID = "9.53">   va_end (varargs);</Sentence>
<Sentence ID = "9.54">   if (response == 550)</Sentence>
<Sentence ID = "9.55">     {</Sentence>
<Sentence ID = "9.56">       ftp_connection_check_file (conn, handlers, file);</Sentence>
<Sentence ID = "9.57">       response = 0;</Sentence>
<Sentence ID = "9.58">     }</Sentence>
<Sentence ID = "9.59">   return response;</Sentence>
<Sentence ID = "9.60"> }</Sentence>
<Sentence ID = "9.61"> This also solves the problem of having our 550 handling move into the response codes, which looks a bit unfortunate API wise.</Sentence>
<Sentence ID = "9.62"> And we get rid of adding more members to the FtpConnection struct, especially those that don't belong there.</Sentence>
<Sentence ID = "9.63"> Some smaller things:</Sentence>
<Sentence ID = "9.64"> - The function was called \"error_550_check_directory\". </Sentence>
<Sentence ID = "9.65"> That's a somewhat bad choice for a name, as I don't know if it checks whether the file is or is not a directory.</Sentence>
<Sentence ID = "9.66"> - Please change the default error code for 550 to G_IO_ERROR_FAILED. </Sentence>
<Sentence ID = "9.67"> \"Operation failed\" sounds much better than \"File unavailable\". </Sentence>
<Sentence ID = "9.68"> And it tells us where we miss 550 checks: Whenever we get \"FAILED\" :)</Sentence>
<Sentence ID = "9.69"> - Your patch includes the \"LIST -a\" change for bad directory listings.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-10 13:51:58'</Date>
<From>'Tomas Bzatek'</From>
<Text>
<Sentence ID = "10.1"> Created an attachment (id=112474) [details]</Sentence>
<Sentence ID = "10.2"> gvfs-ftp-read-directory-2.patch</Sentence>
<Sentence ID = "10.3"> Modified patch, fixing all issues noted in the previous comment.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-10 17:12:54'</Date>
<From>'Benjamin Otte'</From>
<Text>
<Sentence ID = "11.1"> From a quick review the patch looks pretty much like I imagined it. </Sentence>
<Sentence ID = "11.2"> And before I forget it: error_550_is_directory() checks for 250, not 550.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-11 11:53:26'</Date>
<From>'Tomas Bzatek'</From>
<Text>
<Sentence ID = "12.1"> Commited slightly modified patch to trunk and stable 2.22 branch. </Sentence>
<Sentence ID = "12.2"> This fixes recursive copy of directory structure in Nautilus.</Sentence>
<Sentence ID = "12.3"> The delete issue reported in the first post might be related to bug #528347, where client apps using GIO/GVFS are unable see dot-files which are blocking directory removal as it's not empty. </Sentence>
<Sentence ID = "12.4"> Otherwise deleting whole directory structure works fine in Nautilus and backend reports G_IO_ERROR_NOT_EMPTY correctly.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "16">
<Title>"(64222) GTK - Access to data elements of many widgets required"</Title>
<Turn>
<Date>'2001-11-10 11:32:37'</Date>
<From>'Skip Montanaro'</From>
<Text>
<Sentence ID = "1.1"> According to Havoc:</Sentence>
<Sentence ID = "1.2">   If you need struct fields in any widget, please file a bug report,  they should never be required to use a widget.</Sentence>
<Sentence ID = "1.3"> Accordingly, I took a look at the places where the latest PyGtk wrappers directly access widget data attributes to provide needed functionality.  </Sentence>
<Sentence ID = "1.4"> I found 43 examples, identified in the table below.  </Sentence>
<Sentence ID = "1.5"> (Of course, there may be more that PyGtk doesn't use or expose.)  </Sentence>
<Sentence ID = "1.6"> Most of these data attributes are accessed directly to provide them to the Python programmer.  </Sentence>
<Sentence ID = "1.7"> I assume that means they would also have to be accessed directly by the C programmer.</Sentence>
<Sentence ID = "1.8">     GTK_ADJUSTMENT                  lower</Sentence>
<Sentence ID = "1.9">     GTK_ADJUSTMENT                  page_increment</Sentence>
<Sentence ID = "1.10">     GTK_ADJUSTMENT                  page_size</Sentence>
<Sentence ID = "1.11">     GTK_ADJUSTMENT                  step_increment</Sentence>
<Sentence ID = "1.12">     GTK_ADJUSTMENT                  upper</Sentence>
<Sentence ID = "1.13">     GTK_ADJUSTMENT                  value</Sentence>
<Sentence ID = "1.14">     GTK_BIN                         child</Sentence>
<Sentence ID = "1.15">     GTK_CHECK_MENU_ITEM             active</Sentence>
<Sentence ID = "1.16">     GTK_CLIST                       columns</Sentence>
<Sentence ID = "1.17">     GTK_CLIST                       focus_row</Sentence>
<Sentence ID = "1.18">     GTK_CLIST                       row_list</Sentence>
<Sentence ID = "1.19">     GTK_CLIST                       rows</Sentence>
<Sentence ID = "1.20">     GTK_CLIST                       selection</Sentence>
<Sentence ID = "1.21">     GTK_COLOR_SELECTION_DIALOG      cancel_button</Sentence>
<Sentence ID = "1.22">     GTK_COLOR_SELECTION_DIALOG      colorsel</Sentence>
<Sentence ID = "1.23">     GTK_COLOR_SELECTION_DIALOG      help_button</Sentence>
<Sentence ID = "1.24">     GTK_COLOR_SELECTION_DIALOG      ok_button</Sentence>
<Sentence ID = "1.25">     GTK_COMBO                       entry</Sentence>
<Sentence ID = "1.26">     GTK_COMBO                       list</Sentence>
<Sentence ID = "1.27">     GTK_CURVE                       num_points</Sentence>
<Sentence ID = "1.28">     GTK_DIALOG                      action_area</Sentence>
<Sentence ID = "1.29">     GTK_DIALOG                      vbox</Sentence>
<Sentence ID = "1.30">     GTK_FONT_SELECTION_DIALOG       action_area</Sentence>
<Sentence ID = "1.31">     GTK_FONT_SELECTION_DIALOG       apply_button</Sentence>
<Sentence ID = "1.32">     GTK_FONT_SELECTION_DIALOG       cancel_button</Sentence>
<Sentence ID = "1.33">     GTK_FONT_SELECTION_DIALOG       fontsel</Sentence>
<Sentence ID = "1.34">     GTK_FONT_SELECTION_DIALOG       main_vbox</Sentence>
<Sentence ID = "1.35">     GTK_FONT_SELECTION_DIALOG       ok_button</Sentence>
<Sentence ID = "1.36">     GTK_GAMMA_CURVE                 curve</Sentence>
<Sentence ID = "1.37">     GTK_GAMMA_CURVE                 gamma</Sentence>
<Sentence ID = "1.38">     GTK_GAMMA_CURVE                 gamma_dialog</Sentence>
<Sentence ID = "1.39">     GTK_GAMMA_CURVE                 gamma_text</Sentence>
<Sentence ID = "1.40">     GTK_GAMMA_CURVE                 table</Sentence>
<Sentence ID = "1.41">     GTK_LIST                        selection</Sentence>
<Sentence ID = "1.42">     GTK_NOTEBOOK                    tab_pos</Sentence>
<Sentence ID = "1.43">     GTK_STYLE                       black</Sentence>
<Sentence ID = "1.44">     GTK_STYLE                       white</Sentence>
<Sentence ID = "1.45">     GTK_TEXT_BUFFER                 tag_table</Sentence>
<Sentence ID = "1.46">     GTK_TOGGLE_BUTTON               draw_indicator</Sentence>
<Sentence ID = "1.47">     GTK_WIDGET                      allocation</Sentence>
<Sentence ID = "1.48">     GTK_WIDGET                      parent</Sentence>
<Sentence ID = "1.49">     GTK_WIDGET                      style</Sentence>
<Sentence ID = "1.50">     GTK_WIDGET                      window</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2001-11-10 18:43:15'</Date>
<From>'Havoc Pennington'</From>
<Text>
<Sentence ID = "2.1"> Thanks, this is helpful. </Sentence>
<Sentence ID = "2.2"> Some of them are bogus and already  have accessor functions, I believe:</Sentence>
<Sentence ID = "2.3"> GTK_BIN                         child</Sentence>
<Sentence ID = "2.4"> GTK_CHECK_MENU_ITEM             active</Sentence>
<Sentence ID = "2.5"> GTK_TEXT_BUFFER                 tag_table</Sentence>
<Sentence ID = "2.6"> Also, most of them are for deprecated widgets. </Sentence>
<Sentence ID = "2.7"> But there are many there we should probably have functions for.</Sentence>
<Sentence ID = "2.8"> Adding API keyword, but putting on future milestone.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2001-11-11 09:56:51'</Date>
<From>'Skip Montanaro'</From>
<Text>
<Sentence ID = "3.1"> When considering accessor functions, you might also want to consider raising the API up to a bit higher level.  </Sentence>
<Sentence ID = "3.2"> For example, the Combo widget should probably have its own value-changed signal and direct access to the underlying entry and list widgets should be deprecated with some higher level functions written for the Combo widget to get at necessary functionality.  </Sentence>
<Sentence ID = "3.3"> Since the GtkList widget is already deprecated, this stuff is going to break in applications someday anyway.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2002-12-13 00:10:27'</Date>
<From>'vilm0001'</From>
<Text>
<Sentence ID = "4.1"> No kidding about the breakability in the combo box: this is already pretty much broken in GTK-- (C++ binding), where they use a different implementation for the (deprecated) list, which basically makes it impossible to access list data. </Sentence>
<Sentence ID = "4.2"> A change in the GTK+ API to allow access to the list items through a function would make this a whole lot more usable.</Sentence>
<Sentence ID = "4.3"> Suggestion:</Sentence>
<Sentence ID = "4.4"> Make the list in the combo a GList. </Sentence>
<Sentence ID = "4.5"> This would also make working with the combo easier... </Sentence>
<Sentence ID = "4.6"> Not sure if there's a good way of handling arbitary  widgets with associated text without creating some sort of ListItem</Sentence>
<Sentence ID = "4.7"> (deprecated) replacement...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-15 06:42:14'</Date>
<From>'Matthias Clasen'</From>
<Text>
<Sentence ID = "5.1"> The ongoing gseal work is finally taking care of this.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "17">
<Title>"(514396) GTK - Add gtk_show_uri"</Title>
<Turn>
<Date>'2008-02-04 20:04:59'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "1.1"> Currently apps use gnome_help functions to show help files, but gnome_help is part of the deprecated gnome_help</Sentence>
<Sentence ID = "1.2"> See also GNOME goal proposal</Sentence>
<Sentence ID = "1.3"> http://live.gnome.org/action/show/GnomeGoals/RemoveGnomeOpenGnomeHelp</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-20 21:53:25'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "2.1"> Created an attachment (id=105668) [details]</Sentence>
<Sentence ID = "2.2"> Patch adding gtk_show_uri and gtk_show_help to GTK+</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-20 22:06:32'</Date>
<From>'Christian Persch'</From>
<Text>
<Sentence ID = "3.1"> The gtk_show_help function is missing |return ret;|.</Sentence>
<Sentence ID = "3.2"> You forgot to add the new funcs to gtk/gtk.symbols .</Sentence>
<Sentence ID = "3.3"> + * modify it under the terms of the GNU Lesser General Public</Sentence>
<Sentence ID = "3.4"> + * License as published by the Free Software Foundation; either</Sentence>
<Sentence ID = "3.5"> + * version 2 of the License, or (at your option) any later version.</Sentence>
<Sentence ID = "3.6"> There is no \"Lesser GPL version 2\". </Sentence>
<Sentence ID = "3.7"> It's the Lesser GPL version 2.1 (or the Library GPL version 2).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-20 22:29:50'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "4.1"> Somehow I feel that gtk_show_help() is too GNOME oriented to be included in this form. </Sentence>
<Sentence ID = "4.2"> I have been told that gtk_show_uri() will work nicely on the major supported platforms.</Sentence>
<Sentence ID = "4.3"> This is hwoever not the case for gtk_show_help(). </Sentence>
<Sentence ID = "4.4"> Since the functionality of gtk_show_help() can be easily implemented on top of gtk_show_uri(), it should be sufficient to provide gtk_show_uri() for now.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-20 22:37:42'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "5.1"> Created an attachment (id=105671) [details]</Sentence>
<Sentence ID = "5.2"> Updated patch. Adding ret and gtk symbols</Sentence>
<Sentence ID = "5.3"> Christian, I copied the license from other files in GTK+.</Sentence>
<Sentence ID = "5.4"> I opened about 5 to 6 files and they are the same. </Sentence>
<Sentence ID = "5.5"> I guess it's a better idea to change all licenses in one go</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-23 17:33:56'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "6.1"> What's the consensus on this?</Sentence>
<Sentence ID = "6.2"> Can I commit gtkshow.c to gtk+ when I remove gtk_show_help?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-29 21:35:35'</Date>
<From>'Bastien Nocera'</From>
<Text>
<Sentence ID = "7.1"> Update your patch to remove gtk_show_help() to start with.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-29 22:31:44'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "8.1"> Created an attachment (id=106302) [details]</Sentence>
<Sentence ID = "8.2"> Patch removing gtk_show_help</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-07 21:06:05'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "9.1"> Can one of the maintainers decided what to do with this patch? Thanks</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-16 21:03:09'</Date>
<From>'Morten Welinder'</From>
<Text>
<Sentence ID = "10.1"> gtk_show_uri allows a NULL parent, but that is not multi-head safe.</Sentence>
<Sentence ID = "10.2"> Why not take a mandatory GdkScreen argument since the function couldn't care less about the parent widget beyond its screen?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-16 21:44:27'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "11.1"> I can make it such that the parent has to be set mandatory.</Sentence>
<Sentence ID = "11.2"> Having a GtkWidget *parent saves calling a gtk_widget_get_screen everytime you do a gtk_show_uri</Sentence>
<Sentence ID = "11.3"> What's the opinion on this of others?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-16 22:22:12'</Date>
<From>'Ross Burton'</From>
<Text>
<Sentence ID = "12.1"> I don't think the parent should be mandatory, because there are situations</Sentence>
<Sentence ID = "12.2"> where they may not be a parent at all.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-18 16:08:00'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "13.1"> A mandatory parent would be bad, as Ross explained in comment #11. </Sentence>
<Sentence ID = "13.2"> IMO the best solution is to change the function to take a GdkScreen instead of a parent widget. </Sentence>
<Sentence ID = "13.3"> Shouldn't hurt much to call gtk_widget_get_screen().</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-03-23 23:12:30'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "14.1"> Created an attachment (id=107888) [details]</Sentence>
<Sentence ID = "14.2"> Updated gtk_show_uri patch now using a GdkScreen as input</Sentence>
<Sentence ID = "14.3"> Thanks for you comments. </Sentence>
<Sentence ID = "14.4"> Any more comments?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-04 05:54:02'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "15.1"> Ping. Can above patch be applied?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-19 19:07:00'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "16.1"> Can one of the maintainers make a decision about this patch.</Sentence>
<Sentence ID = "16.2"> Thanks</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-26 22:14:56'</Date>
<From>'Matthias Clasen'</From>
<Text>
<Sentence ID = "17.1"> Some comments: </Sentence>
<Sentence ID = "17.2"> - Wrt to the parent issue, I think the function should accept NULL there. </Sentence>
<Sentence ID = "17.3">   Being forced to call gdk_widget_get_screen() is annoyance, when  GdkAppLaunchContext handles unset screen already.</Sentence>
<Sentence ID = "17.4"> - The documentation needs to go in some more detail about what kind of 'uri' this function accepts. </Sentence>
<Sentence ID = "17.5"> There is no standard for this, unfortunately, and the gnome-vfs-&amp;gt;gio transition has unearthed a number of problems due to this.</Sentence>
<Sentence ID = "17.6"> - I'd be interested in a function that mounts the volume before opening it.</Sentence>
<Sentence ID = "17.7"> This is what e.g. the panel needs (see bug 529243 ). </Sentence>
<Sentence ID = "17.8"> That could be a separate function, or gtk_uri_show could take flags.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-27 08:53:40'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "18.1"> Created an attachment (id=109974) [details]</Sentence>
<Sentence ID = "18.2"> Updated patch. GdkScreen can be NULL</Sentence>
<Sentence ID = "18.3"> Matthias, thanks for the review. </Sentence>
<Sentence ID = "18.4"> I've updated the patch with your first two comments.</Sentence>
<Sentence ID = "18.5"> About the third comment (the auto mounting). </Sentence>
<Sentence ID = "18.6"> Why would gtk_show_uri need extra flags for this? </Sentence>
<Sentence ID = "18.7"> We could add code that just tries to mount if this is necessary. </Sentence>
<Sentence ID = "18.8"> Your patch in bug 529243 uses libgnomeui/gnome-password-dialog.h which can't be used in gtk+</Sentence>
<Sentence ID = "18.9"> What do you want to do? </Sentence>
<Sentence ID = "18.10"> Commit this patch (quite some apps could reduce their dependency on libgnomeui and friends already) and later on add the mounting part</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-27 14:04:04'</Date>
<From>'Morten Welinder'</From>
<Text>
<Sentence ID = "19.1"> Matthias: being forced to call gdk_widget_get_screen is a good thing as it avoids multiscreen bugs.  </Sentence>
<Sentence ID = "19.2"> If GdkAppLaunchContext handles it, as you say, that sounds like that ought to be fixed too.  </Sentence>
<Sentence ID = "19.3"> There really is no way the gdk/gtk layer can know what screen should be used.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-27 16:09:36'</Date>
<From>'Dan Winship'</From>
<Text>
<Sentence ID = "20.1"> OK, this bug report has gotten silly.&amp;lt;/monty-python&amp;gt;</Sentence>
<Sentence ID = "20.2"> In 99% of use cases, the user interacts with some widget, and as a result, the program wants to show a URI on the same screen as that widget.</Sentence>
<Sentence ID = "20.3"> In 99% of the remaining 1% of use cases, the program has no opinion at all about what screen to show the URI on (eg, gnome-open), and so it's going to pass NULL for parent regardless of whether parent is a GtkWidget or a GtkScreen. </Sentence>
<Sentence ID = "20.4"> (Or in the mandatory GtkScreen case, it would always call gdk_screen_get_default().)</Sentence>
<Sentence ID = "20.5"> Given that this is a 10-line function, it seems silly to make its interface less convenient for 99% of users just so it can cover an additional 0.01% of use cases. </Sentence>
<Sentence ID = "20.6"> Assuming there actually are programs that need to show URIs on specific screens that do not correspond to any live widget, the developers of those programs can just cut and paste the gtk_show_uri source and change it accordingly.</Sentence>
<Sentence ID = "20.7"> accordingly.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-25 03:41:11'</Date>
<From>'Matthias Clasen'</From>
<Text>
<Sentence ID = "21.1"> Jaap: the way to handle mounting in GTK+ is to use a GtkMountOperation. </Sentence>
<Sentence ID = "21.2"> I'm not 100% happy with the single-function header gtkshow.h, but I don't really have a better alternative.</Sentence>
<Sentence ID = "21.3"> It is probably ok to commit it in this form now, we'll figure out the mounting later.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-05-25 08:51:41'</Date>
<From>'Jaap A. Haitsma'</From>
<Text>
<Sentence ID = "22.1"> Thanks for the review. It's now committed</Sentence>
<Sentence ID = "22.2"> 2008-05-25  Jaap A. Haitsma  &amp;lt;jaap@haitsma.org&amp;gt;</Sentence>
<Sentence ID = "22.3">     reviewed by: Matthias Clasen</Sentence>
<Sentence ID = "22.4">     * gtk/Makefile.am:</Sentence>
<Sentence ID = "22.5">     * gtk/gtk.h:</Sentence>
<Sentence ID = "22.6">     * gtk/gtk.symbols:</Sentence>
<Sentence ID = "22.7">     * gtk/gtkshow.c: (gtk_show_uri):</Sentence>
<Sentence ID = "22.8">     * gtk/gtkshow.h:</Sentence>
<Sentence ID = "22.9">     Add gtk_show_uri to make showing uris really easy. </Sentence>
<Sentence ID = "22.10"> Fixes bug #514396</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "18">
<Title>"(215879) Eclipse - SWT crashes on start"</Title>
<Turn>
<Date>'2008-01-18 20:59:00'</Date>
<From>'Daniel'</From>
<Text>
<Sentence ID = "1.1"> Created an attachment (id=87317) [details]</Sentence>
<Sentence ID = "1.2"> the error report</Sentence>
<Sentence ID = "1.3"> I'm using the SWT library, ran the \"Hello World\" example:</Sentence>
<Sentence ID = "1.4"> import org.eclipse.swt.widgets.*;</Sentence>
<Sentence ID = "1.5"> public class SWTExperiment {</Sentence>
<Sentence ID = "1.6">         public static void main (String [] args) {</Sentence>
<Sentence ID = "1.7">                 Display display = new Display ();</Sentence>
<Sentence ID = "1.8">                 Shell shell = new Shell(display);</Sentence>
<Sentence ID = "1.9">                 shell.open ();</Sentence>
<Sentence ID = "1.10">                 while (!shell.isDisposed ()) {</Sentence>
<Sentence ID = "1.11">                         if (!display.readAndDispatch ()) display.sleep ();</Sentence>
<Sentence ID = "1.12">                 }</Sentence>
<Sentence ID = "1.13">                 display.dispose ();</Sentence>
<Sentence ID = "1.14">         }</Sentence>
<Sentence ID = "1.15"> }</Sentence>
<Sentence ID = "1.16"> and SWT fails to load, it always exits with java has exited due to signal 4 (SIGILL).</Sentence>
<Sentence ID = "1.17"> I see the window flash open, then immediately it crashes.</Sentence>
<Sentence ID = "1.18"> There is nothing in the logs.</Sentence>
<Sentence ID = "1.19"> when i open the resulting jar with the jar launcher I get the crash report which I attached.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-18 21:03:33'</Date>
<From>'Daniel'</From>
<Text>
<Sentence ID = "2.1"> also, I ditched the new version and tried 3.2.2 and it worked</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 18:01:42'</Date>
<From>'McQ'</From>
<Text>
<Sentence ID = "3.1"> On my Mac, running OS X 10.5.2, I successfully ran the hello world example, from the command line, using the SWT from R3.4 M6. </Sentence>
<Sentence ID = "3.2"> Can you try that version and see if it fails for you? </Sentence>
<Sentence ID = "3.3"> Also, can you run     java -version   and let us know what it prints?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 19:45:17'</Date>
<From>'Daniel'</From>
<Text>
<Sentence ID = "4.1"> this is the output from java -version</Sentence>
<Sentence ID = "4.2"> java version \"1.5.0_13\"</Sentence>
<Sentence ID = "4.3"> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-241)</Sentence>
<Sentence ID = "4.4"> Java HotSpot(TM) Client VM (build 1.5.0_13-121, mixed mode, sharing)</Sentence>
<Sentence ID = "4.5"> I'm running Mac OS X 10.4.11, so still on Tiger.</Sentence>
<Sentence ID = "4.6"> I ran it again with the R3.4 M6 (including swt-debug.jar) and i'm getting the same issue, seeing the frame and then crashing with SIGILL.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 20:12:25'</Date>
<From>'McQ'</From>
<Text>
<Sentence ID = "5.1"> Adding Steve to increase the visibility.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-14 10:31:01'</Date>
<From>'Kevin Barnes'</From>
<Text>
<Sentence ID = "6.1"> How are you launching your app? </Sentence>
<Sentence ID = "6.2"> If you are launch from the command line, are you using the -XstartOnFirstThread option? </Sentence>
<Sentence ID = "6.3"> (http://www.eclipse.org/swt/faq.php#carbonapp)</Sentence>
<Sentence ID = "6.4"> I'm running on leopard w/o any problems. </Sentence>
<Sentence ID = "6.5"> I'll try Tiger.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-14 11:15:48'</Date>
<From>'Kevin Barnes'</From>
<Text>
<Sentence ID = "7.1"> Sorry, I could not reproduce this on Tiger either. </Sentence>
<Sentence ID = "7.2"> I tried running in Eclipse, from command line, and exporting a project as a runnable jar from Eclipse. </Sentence>
<Sentence ID = "7.3"> No crashes.</Sentence>
<Sentence ID = "7.4"> Please provide detailed instructions on how you are creating your project and running you code.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-14 15:37:50'</Date>
<From>'Daniel'</From>
<Text>
<Sentence ID = "8.1"> I created it using xcode 2.5 on tiger.  </Sentence>
<Sentence ID = "8.2"> I tried using eclipse but it would not build from source for some reason, so thats how i ended up on xcode.  </Sentence>
<Sentence ID = "8.3"> There are no command line arguments except -cp SWTexperiment.jar SWTexperiment, which doesn't pertain to this.  </Sentence>
<Sentence ID = "8.4"> I just tried adding the -XstartOnFirstThread option and everything worked fine.</Sentence>
<Sentence ID = "8.5">  No crashing, everything is wonderful. </Sentence>
<Sentence ID = "8.6">  what does this option do?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-14 16:04:19'</Date>
<From>'Steve Northover'</From>
<Text>
<Sentence ID = "9.1"> http://www.eclipse.org/swt/faq.php#carbonapp</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "19">
<Title>"(69350) Eclipse - Accessibility : Group title is not taken into account by Window-Eyes 4.5"</Title>
<Turn>
<Date>'2004-07-06 06:31:00'</Date>
<From>'lucas bigeardel'</From>
<Text>
<Sentence ID = "1.1"> Group title is not taken into account by Window-Eyes 4.5.</Sentence>
<Sentence ID = "1.2"> The group title should be pronouced before radio buttons or other controls.</Sentence>
<Sentence ID = "1.3"> It is not, this is bug since blid users cannont know what the group content is dealing about.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-08-23 17:50:11'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "2.1"> Interesting. </Sentence>
<Sentence ID = "2.2"> Both Window-Eyes and JAWS will read a Group title IF the Group has a single child that does not have an obvious name, for example, a text or a list or a combo box.</Sentence>
<Sentence ID = "2.3"> But neither screen reader will read a Group title if it groups a set of radio buttons or check boxes, say. </Sentence>
<Sentence ID = "2.4"> (Or, I assume, if it is surrounding something that has an obvious label to read instead, like a button, and if the child control takes focus).</Sentence>
<Sentence ID = "2.5"> We have several dialogs - notably, the search and find/replace dialogs, that have groups with radio/checkbox children. </Sentence>
<Sentence ID = "2.6"> The screen readers do not read the group titles in these dialogs.</Sentence>
<Sentence ID = "2.7"> I will bring this to the attention of the screen reader developers.</Sentence>
<Sentence ID = "2.8"> For now, an extreme, but sort-of useable work-around in Window-Eyes is to tell it to read every control in a newly-opened dialog. </Sentence>
<Sentence ID = "2.9"> You can do this with:</Sentence>
<Sentence ID = "2.10"> Global -&amp;gt; Verbosity -&amp;gt; Activated... Entire Window if Dialog</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-08-27 02:37:16'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "3.1"> CCing Frank and Lin.</Sentence>
<Sentence ID = "3.2"> Here are 2 examples of eclipse dialogs where a group title is not read:</Sentence>
<Sentence ID = "3.3"> 1) Click on the flashlight (Search) tool in the main toolbar. </Sentence>
<Sentence ID = "3.4"> Click on any of the tabs in the notebook. </Sentence>
<Sentence ID = "3.5"> All of the pages have a \"Scope\" group. </Sentence>
<Sentence ID = "3.6"> Some of the pages have a \"Search For\" group or a \"Limit To\" group. </Sentence>
<Sentence ID = "3.7"> None of these titles are read by JAWS.</Sentence>
<Sentence ID = "3.8"> 2) Open an editor on any file, and then select Edit -&amp;gt; Find/Replace... (or type ctrl+F) to get the Find/Replace dialog. </Sentence>
<Sentence ID = "3.9"> The \"Direction\", \"Scope\", and \"Options\" group titles are never read.</Sentence>
<Sentence ID = "3.10"> I think the best thing would be if these were read when one of the radio or checkbox controls gets focus (i.e. when the dialog is activated, and when the user tabs to a new group or clicks on a control in another group.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-08-31 15:40:47'</Date>
<From>'Lin Ma'</From>
<Text>
<Sentence ID = "4.1"> Today, Frank and Lin tested with JAWS 5.0, 5.1 and 6.0 beta, we found both the dialogue from flashlight and Find/Replace from the Edit group titles are spoken correctly.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-01 16:55:52'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "5.1"> Created an attachment (id=14333) [details]</Sentence>
<Sentence ID = "5.2"> GroupTests.java</Sentence>
<Sentence ID = "5.3"> It is not working for me, so either I didn't make the problem clear enough, or you have some JAWS settings set that I do not have set. </Sentence>
<Sentence ID = "5.4"> I just installed JAWS 5.1, and in the installation process, it asked if I wanted to keep settings from my previous JAWS version. </Sentence>
<Sentence ID = "5.5"> I said \"No\", because I want my JAWS 5.1 to be \"out-of-the-box\". So I have NO settings in my JAWS 5.1, so no surprises.</Sentence>
<Sentence ID = "5.6"> I will attach a little code snippet here that shows the problem very simply.</Sentence>
<Sentence ID = "5.7"> Copy the attachment into your snippets directory, refresh your snippets project, select GroupTests.java, and Run -&amp;gt; Java Application. </Sentence>
<Sentence ID = "5.8"> What I hear when I tab or down/up arrow is \"green\" or \"blue\", depending on who has focus.</Sentence>
<Sentence ID = "5.9"> What I want to hear is \"Foreground - green\" and \"Background - blue\".</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-08 11:25:35'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=14443) [details]</Sentence>
<Sentence ID = "6.2"> GroupTests.java</Sentence>
<Sentence ID = "6.3"> Sorry - Bugzilla defaulted to saving the java file as octet-stream, which isn't very useful. </Sentence>
<Sentence ID = "6.4"> I am attaching it again, and specifying type \"text\". </Sentence>
<Sentence ID = "6.5"> Please ignore the previous attachment and get this new one.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-28 15:50:14'</Date>
<From>'Frank DiPalermo'</From>
<Text>
<Sentence ID = "7.1"> Carolyn, Sorry, but I used your code snippet and I do indeed hear the group box names along with the individual radio buttons.  </Sentence>
<Sentence ID = "7.2"> I am using JAWS 5.1.383.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-10-07 16:38:14'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "8.1"> I am also using JAWS 5.10.383, and I still don't hear \"Foreground\" or \"Background\". </Sentence>
<Sentence ID = "8.2"> we must have different settings somehow.</Sentence>
<Sentence ID = "8.3"> I will attach my default.jcf (I believe that it is \"straight from the factory\". </Sentence>
<Sentence ID = "8.4"> I do not have a javaw.jcf. </Sentence>
<Sentence ID = "8.5"> Maybe we can figure out what setting you have set that I don't have set.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-10-07 16:39:51'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "9.1"> Created an attachment (id=15052) [details]</Sentence>
<Sentence ID = "9.2"> C:\\JAWS510\\SETTINGS\\enu\\Default.JCF</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-10-15 15:34:37'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "10.1"> After further investigation, we determined that the problem only happens on Windows XP with the javaw.exe.manifest installed in jre/bin (this tells WinXP to use the WinXP common controls - version 6.0 - instead of the Win2K common </Sentence>
<Sentence ID = "10.2"> controls - version 5.x).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-12-13 10:19:05'</Date>
<From>'Frank DiPalermo'</From>
<Text>
<Sentence ID = "11.1"> This problem is solved in JAWS.  </Sentence>
<Sentence ID = "11.2"> The window class for this object has been reassigned internally in JAWS.  </Sentence>
<Sentence ID = "11.3"> This fix will be reflected in JAWS version 6.0 which is due out shortly.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-04-13 17:03:08'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "12.1"> Verified that this now works in JAWS 6.0.</Sentence>
<Sentence ID = "12.2"> Thank-you, Frank!</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-04-13 17:04:24'</Date>
<From>'Carolyn MacLeod'</From>
<Text>
<Sentence ID = "13.1"> *** Bug 51963 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-31 16:17:19'</Date>
<From>'lucas bigeardel'</From>
<Text>
<Sentence ID = "14.1"> close</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "20">
<Title>"(226688) Eclipse - Teneo installation corrupts Ant installation"</Title>
<Turn>
<Date>'2008-04-11 10:14:00'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "1.1"> Hi Martin,</Sentence>
<Sentence ID = "1.2"> after installation of Teneo the entry \"Ant Home Entries (Default)\" on the classpath page of Preferences-&amp;gt;Ant-&amp;gt;Runtime is empty (though the child entries of this tree node are visible).</Sentence>
<Sentence ID = "1.3"> In addition to this I get a lot of NullPointerExceptions in the .log with \"Malformed URL\" as Message when I open that preference page. </Sentence>
<Sentence ID = "1.4"> The stack does not show any participation of teneo.</Sentence>
<Sentence ID = "1.5"> I tested it on a complete new eclipse (RCP version) installation (M20080221-1800 ) with the EMF, GEF and GMF features installed in an empty workspace. </Sentence>
<Sentence ID = "1.6"> After each installation I looked at the that \"Ant Home Entries\" entry and all was fine. </Sentence>
<Sentence ID = "1.7"> But after installation of teneo it vanished. </Sentence>
<Sentence ID = "1.8"> After disabling of the teneo plugin the entry is visible again.</Sentence>
<Sentence ID = "1.9"> gr. Manfred</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 13:51:49'</Date>
<From>'Martin taal'</From>
<Text>
<Sentence ID = "2.1"> Hi Manfred,</Sentence>
<Sentence ID = "2.2"> This seems strange behavior as installing teneo should not interfere with the rest of the eclipse installation. </Sentence>
<Sentence ID = "2.3"> Teneo is really just a set of plugins which do not change other plugins.</Sentence>
<Sentence ID = "2.4"> Can you remove .log file and then restart eclipse with the -clean option and then attach the resulting .log file to this bugzilla?</Sentence>
<Sentence ID = "2.5"> In addition which versions of eclipse, emf, etc. are you using?</Sentence>
<Sentence ID = "2.6"> Can you also attach a screendump of the strange thing you see in preferences/ant?</Sentence>
<Sentence ID = "2.7"> Does the plugin/feature information say something special? You can find it here:</Sentence>
<Sentence ID = "2.8"> Help/Software Updates/Manage Configuration</Sentence>
<Sentence ID = "2.9"> note that this view has a button to hide non-loaded features/plugins. </Sentence>
<Sentence ID = "2.10"> Can you see which plugins fail to load? </Sentence>
<Sentence ID = "2.11"> Depending on the version of eclipse you can see some more details of why the plugin failed to load.</Sentence>
<Sentence ID = "2.12"> gr. Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 15:54:22'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "3.1"> Created an attachment (id=95747) [details]</Sentence>
<Sentence ID = "3.2"> log-file with errors after opening Ant Runtime Preferences</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 15:55:45'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "4.1"> Created an attachment (id=95748) [details]</Sentence>
<Sentence ID = "4.2"> Ant Runtime Preferences screenshot</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 15:57:22'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "5.1"> Created an attachment (id=95749) [details]</Sentence>
<Sentence ID = "5.2"> Configuration from Software Updates/Mangage Configuration</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 16:03:39'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "6.1"> Hi Martin,</Sentence>
<Sentence ID = "6.2"> I have made the complete new configuration today and have added each new feature with the update manager.</Sentence>
<Sentence ID = "6.3"> Perhaps this is a case that belongs to the core team of eclipse? </Sentence>
<Sentence ID = "6.4"> gr.</Sentence>
<Sentence ID = "6.5"> Manfred</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 16:15:42'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "7.1"> Hi Martin,</Sentence>
<Sentence ID = "7.2"> as you see from the .log-file I forgot the -clean flag. </Sentence>
<Sentence ID = "7.3"> Now I did it, but the .log-file only differs in that this setting is now shown. </Sentence>
<Sentence ID = "7.4"> All other messages including that curious \"Invalid perference page: Cache\" are the same.</Sentence>
<Sentence ID = "7.5"> gr. Manfred</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-11 19:53:34'</Date>
<From>'Martin taal'</From>
<Text>
<Sentence ID = "8.1"> Hi Manfred,</Sentence>
<Sentence ID = "8.2"> Yes I can really not think on how this can be caused by Teneo. </Sentence>
<Sentence ID = "8.3"> I have moved the issue to the platform project. </Sentence>
<Sentence ID = "8.4"> Can you post a topic on the platform newsgroup (with a link to this bugzilla)?</Sentence>
<Sentence ID = "8.5"> Maybe they know right away what's wrong.</Sentence>
<Sentence ID = "8.6"> gr. Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-25 02:39:26'</Date>
<From>'Manfred Hahn'</From>
<Text>
<Sentence ID = "9.1"> This behaviour did vanish with the teneo version I200805200858. </Sentence>
<Sentence ID = "9.2"> I believe there had been a consolidation of used libraries.</Sentence>
<Sentence ID = "9.3"> Because of this I set set the resolution to fixed.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "21">
<Title>"(276131) Eclipse - Browser Test crashing"</Title>
<Turn>
<Date>'2009-05-13 12:37:00'</Date>
<From>'Kevin Barnes'</From>
<Text>
<Sentence ID = "1.1"> The releng test have been DNF for the last couple builds. Running locally we occasionally see crashes in the BrowserTests so we suspect these crashes to be the cause of the DNF.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-14 16:02:09'</Date>
<From>'Silenio Quarti'</From>
<Text>
<Sentence ID = "2.1"> Created an attachment (id=135853) [details]</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-14 16:09:22'</Date>
<From>'Kevin Barnes'</From>
<Text>
<Sentence ID = "3.1"> Pushing this fix for RC2, as it's too risky to make this change for RC1 now.</Sentence>
<Sentence ID = "3.2"> For RC1 we'll comment out the crashing tests so that the other tests can run properly. </Sentence>
<Sentence ID = "3.3"> We have NOT seen this bug affect the usability of Eclipse, only the running of the SWT test suite.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-14 16:17:14'</Date>
<From>'Silenio Quarti'</From>
<Text>
<Sentence ID = "4.1"> The problem is that the strategy we use to release pools periodically (in readAndDispatch, createWidget, etc) to be able to run the test suites, releases the main thread pool created be Device and stored in a thread local dictionary.</Sentence>
<Sentence ID = "4.2"> The pool was not removed from the thread local dictionary and got reused the next time a display was created.</Sentence>
<Sentence ID = "4.3"> The new strategy is to only release the main thread pool when the device count goes to zero.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-15 07:09:33'</Date>
<From>'McQ'</From>
<Text>
<Sentence ID = "5.1"> Obviously, something this low level needs as much testing as it can get. </Sentence>
<Sentence ID = "5.2"> Can we get a test build run to verify all tests pass/no crashes/no OOM/etc? </Sentence>
<Sentence ID = "5.3"> Also, you should be doing the two day test pass on a version of SWT that includes the change.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-15 17:38:24'</Date>
<From>'Silenio Quarti'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=136083) [details]</Sentence>
<Sentence ID = "6.2"> new fix</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-15 17:54:40'</Date>
<From>'Silenio Quarti'</From>
<Text>
<Sentence ID = "7.1"> The new fix is simpler, we just make sure the the pool in the thread dictionary is always valid, that way when another display is created it will not use a released pool.</Sentence>
<Sentence ID = "7.2"> There was a further problem where the pool was released too early. </Sentence>
<Sentence ID = "7.3"> If we are in call in, we cannot released the top of the stack pool.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-15 17:58:28'</Date>
<From>'Silenio Quarti'</From>
<Text>
<Sentence ID = "8.1"> The tests that where showing this problem have been put back (just in HEAD).</Sentence>
<Sentence ID = "8.2"> Fixed &amp;gt; 20090515</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "22">
<Title>"(429126) Bugzilla Calendar - infinite loop at refresh when a calendar is deleted from the server outside of Lightning"</Title>
<Turn>
<Date>'2008-04-15 06:53:44'</Date>
<From>'Wolfgang Sourdeau'</From>
<Text>
<Sentence ID = "1.1"> User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; fr-FR; rv:1.8.1.13) Gecko/20080311 Iceweasel/2.0.0.13 (Debian-2.0.0.13-1)</Sentence>
<Sentence ID = "1.2"> Build Identifier: 0.8 (2008033118)</Sentence>
<Sentence ID = "1.3"> When a calendar to which I am subscribed no longer exists, Lightning will try indefinitely to reach it and use 100% of my CPU. This, despite the 404 results it receives.</Sentence>
<Sentence ID = "1.4"> Reproducible: Always</Sentence>
<Sentence ID = "1.5"> Steps to Reproduce:</Sentence>
<Sentence ID = "1.6"> 1. create a calendar on your server</Sentence>
<Sentence ID = "1.7"> 2. subscribe to it via Lightning</Sentence>
<Sentence ID = "1.8"> 3. quit Thunderbird</Sentence>
<Sentence ID = "1.9"> 4. erase the calendar from your server</Sentence>
<Sentence ID = "1.10"> 5. relaunch Thunderbird</Sentence>
<Sentence ID = "1.11"> Actual Results:  </Sentence>
<Sentence ID = "1.12"> A propfind is executed on the resource, resulting in a 404 error code. </Sentence>
<Sentence ID = "1.13"> An OPTION on the parent directory occurs, with a 200 result. </Sentence>
<Sentence ID = "1.14"> Then the loop continues with a new propfind...</Sentence>
<Sentence ID = "1.15"> Expected Results:  </Sentence>
<Sentence ID = "1.16"> I would expect Lightning to stop trying to reach the calendar collection as</Sentence>
<Sentence ID = "1.17"> soon as it receives the 404 result.</Sentence>
<Sentence ID = "1.18"> Here is a trace of what happens (obtained with tcpflow):</Sentence>
<Sentence ID = "1.19"> PROPFIND /SOGo/dav/wsourdeau/Calendar/1D52AE6B-8564-0001-6A40-17B089902560/</Sentence>
<Sentence ID = "1.20"> HTTP/1.1</Sentence>
<Sentence ID = "1.21"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.22"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.23"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.24"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.25"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.26"> Host: localhost</Sentence>
<Sentence ID = "1.27"> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.1.12)</Sentence>
<Sentence ID = "1.28"> Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12</Sentence>
<Sentence ID = "1.29"> Accept: text/xml</Sentence>
<Sentence ID = "1.30"> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3</Sentence>
<Sentence ID = "1.31"> Accept-Encoding: gzip</Sentence>
<Sentence ID = "1.32"> ,deflate</Sentence>
<Sentence ID = "1.33"> Accept-Charset: utf-8,*;q=0.1</Sentence>
<Sentence ID = "1.34"> Keep-Alive: 300</Sentence>
<Sentence ID = "1.35"> Connection: keep-alive</Sentence>
<Sentence ID = "1.36"> Content-Length: 86</Sentence>
<Sentence ID = "1.37"> Content-Type: text/xml; charset=utf-8</Sentence>
<Sentence ID = "1.38"> Depth: 0</Sentence>
<Sentence ID = "1.39"> &amp;lt;D:propfind xmlns:D=\"DAV:\"&amp;gt;</Sentence>
<Sentence ID = "1.40">   &amp;lt;D:prop&amp;gt;</Sentence>
<Sentence ID = "1.41">     &amp;lt;D:resourcetype/&amp;gt;</Sentence>
<Sentence ID = "1.42">   &amp;lt;/D:prop&amp;gt;</Sentence>
<Sentence ID = "1.43"> &amp;lt;/D:propfind&amp;gt;</Sentence>
<Sentence ID = "1.44"> HTTP/1.0 401 Authorization Required</Sentence>
<Sentence ID = "1.45"> content-length: 0</Sentence>
<Sentence ID = "1.46"> www-authenticate: basic realm=\"SOGo-0.9\"</Sentence>
<Sentence ID = "1.47"> PROPFIND /SOGo/dav/wsourdeau/Calendar/1D52AE6B-8564-0001-6A40-17B089902560/</Sentence>
<Sentence ID = "1.48"> HTTP/1.1</Sentence>
<Sentence ID = "1.49"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.50"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.51"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.52"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.53"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.54"> Host: localhost</Sentence>
<Sentence ID = "1.55"> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.1.12)</Sentence>
<Sentence ID = "1.56"> Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12</Sentence>
<Sentence ID = "1.57"> Accept: text/xml</Sentence>
<Sentence ID = "1.58"> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3</Sentence>
<Sentence ID = "1.59"> Accept-Encoding: gzip</Sentence>
<Sentence ID = "1.60"> ,deflate</Sentence>
<Sentence ID = "1.61"> Accept-Charset: utf-8,*;q=0.1</Sentence>
<Sentence ID = "1.62"> Keep-Alive: 300</Sentence>
<Sentence ID = "1.63"> Connection: keep-alive</Sentence>
<Sentence ID = "1.64"> Content-Length: 86</Sentence>
<Sentence ID = "1.65"> Content-Type: text/xml; charset=utf-8</Sentence>
<Sentence ID = "1.66"> Depth: 0</Sentence>
<Sentence ID = "1.67"> Authorization: Basic hidden</Sentence>
<Sentence ID = "1.68"> &amp;lt;D:propfind xmlns:D=\"DAV:\"&amp;gt;</Sentence>
<Sentence ID = "1.69">   &amp;lt;D:prop&amp;gt;</Sentence>
<Sentence ID = "1.70">     &amp;lt;D:resourcetype/&amp;gt;</Sentence>
<Sentence ID = "1.71">   &amp;lt;/D:prop&amp;gt;</Sentence>
<Sentence ID = "1.72"> &amp;lt;/D:propfind&amp;gt;</Sentence>
<Sentence ID = "1.73"> HTTP/1.0 404 Not found</Sentence>
<Sentence ID = "1.74"> content-length: 85</Sentence>
<Sentence ID = "1.75"> content-type: text/html</Sentence>
<Sentence ID = "1.76"> object not found: wsourdeau =&amp;gt; Calendar =&amp;gt;</Sentence>
<Sentence ID = "1.77"> 1D52AE6B-8564-0001-6A40-17B089902560</Sentence>
<Sentence ID = "1.78"> PROPFIND /SOGo/dav/wsourdeau/Calendar/1D52AE6B-8564-0001-6A40-17B089902560/</Sentence>
<Sentence ID = "1.79"> HTTP/1.1</Sentence>
<Sentence ID = "1.80"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.81"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.82"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.83"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.84"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.85"> Host: localhost</Sentence>
<Sentence ID = "1.86"> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.1.12)</Sentence>
<Sentence ID = "1.87"> Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12</Sentence>
<Sentence ID = "1.88"> Accept: text/xml</Sentence>
<Sentence ID = "1.89"> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3</Sentence>
<Sentence ID = "1.90"> Accept-Encoding: gzip</Sentence>
<Sentence ID = "1.91"> ,deflate</Sentence>
<Sentence ID = "1.92"> Accept-Charset: utf-8,*;q=0.1</Sentence>
<Sentence ID = "1.93"> Keep-Alive: 300</Sentence>
<Sentence ID = "1.94"> Connection: keep-alive</Sentence>
<Sentence ID = "1.95"> Content-Length: 86</Sentence>
<Sentence ID = "1.96"> Content-Type: text/xml; charset=utf-8</Sentence>
<Sentence ID = "1.97"> Depth: 0</Sentence>
<Sentence ID = "1.98"> Authorization: Basic hidden</Sentence>
<Sentence ID = "1.99"> &amp;lt;D:propfind xmlns:D=\"DAV:\"&amp;gt;</Sentence>
<Sentence ID = "1.100">   &amp;lt;D:prop&amp;gt;</Sentence>
<Sentence ID = "1.101">     &amp;lt;D:resourcetype/&amp;gt;</Sentence>
<Sentence ID = "1.102">   &amp;lt;/D:prop&amp;gt;</Sentence>
<Sentence ID = "1.103"> &amp;lt;/D:propfind&amp;gt;</Sentence>
<Sentence ID = "1.104"> OPTIONS /SOGo/dav/wsourdeau/Calendar/ HTTP/1.1</Sentence>
<Sentence ID = "1.105"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.106"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.107"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.108"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.109"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.110"> Host: localhost</Sentence>
<Sentence ID = "1.111"> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.1.12)</Sentence>
<Sentence ID = "1.112"> Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12</Sentence>
<Sentence ID = "1.113"> Accept: text/xml</Sentence>
<Sentence ID = "1.114"> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3</Sentence>
<Sentence ID = "1.115"> Accept-Encoding: gzip,deflate</Sentence>
<Sentence ID = "1.116"> Accept-Charset: utf-8,*;q=0.</Sentence>
<Sentence ID = "1.117"> 1</Sentence>
<Sentence ID = "1.118"> Keep-Alive: 300</Sentence>
<Sentence ID = "1.119"> Connection: keep-alive</Sentence>
<Sentence ID = "1.120"> HTTP/1.0 404 Not found</Sentence>
<Sentence ID = "1.121"> content-length: 85</Sentence>
<Sentence ID = "1.122"> content-type: text/html</Sentence>
<Sentence ID = "1.123"> object not found: wsourdeau =&amp;gt; Calendar =&amp;gt;</Sentence>
<Sentence ID = "1.124"> 1D52AE6B-8564-0001-6A40-17B089902560</Sentence>
<Sentence ID = "1.125"> HTTP/1.0 401 Authorization Required</Sentence>
<Sentence ID = "1.126"> content-length: 0</Sentence>
<Sentence ID = "1.127"> www-authenticate: basic realm=\"SOGo-0.9\"</Sentence>
<Sentence ID = "1.128"> OPTIONS /SOGo/dav/wsourdeau/Calendar/ HTTP/1.1</Sentence>
<Sentence ID = "1.129"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.130"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.131"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.132"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.133"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.134"> Host: localhost</Sentence>
<Sentence ID = "1.135"> User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); fr; rv:1.8.1.12)</Sentence>
<Sentence ID = "1.136"> Gecko/20080213 Lightning/0.8 Thunderbird/2.0.0.12</Sentence>
<Sentence ID = "1.137"> Accept: text/xml</Sentence>
<Sentence ID = "1.138"> Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3</Sentence>
<Sentence ID = "1.139"> Accept-Encoding: gzip,deflate</Sentence>
<Sentence ID = "1.140"> Accept-Charset: utf-8,*;q=0.</Sentence>
<Sentence ID = "1.141"> 1</Sentence>
<Sentence ID = "1.142"> Keep-Alive: 300</Sentence>
<Sentence ID = "1.143"> Connection: keep-alive</Sentence>
<Sentence ID = "1.144"> OPTIONS /SOGo/dav/wsourdeau/Calendar/ HTTP/1.1</Sentence>
<Sentence ID = "1.145"> x-webobjects-server-protocol: HTTP/1.1</Sentence>
<Sentence ID = "1.146"> x-webobjects-remote-addr: 127.0.0.1</Sentence>
<Sentence ID = "1.147"> x-webobjects-remote-host: 127.0.0.1</Sentence>
<Sentence ID = "1.148"> x-webobjects-server-name: localhost</Sentence>
<Sentence ID = "1.149"> x-webobjects-server-url: http://localhost</Sentence>
<Sentence ID = "1.150"> ....</Sentence>
<Sentence ID = "1.151"> [ad finitum]</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-04-15 06:55:10'</Date>
<From>'Wolfgang Sourdeau'</From>
<Text>
<Sentence ID = "2.1"> When using the display of source and destination ip/port in tcpflow, I notice the Lightning side always has a different port, which leads me to think that many connections are occuring at the same time.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-29 08:10:54'</Date>
<From>'Ludovic Marcotte'</From>
<Text>
<Sentence ID = "3.1"> The problem occurs when safeRefresh() is called from calDavCalendar.js.</Sentence>
<Sentence ID = "3.2"> In there, we have the following condition:</Sentence>
<Sentence ID = "3.3">     if (!this.mCtag || !this.mFirstRefreshDone) {</Sentence>
<Sentence ID = "3.4">             var refreshEvent = this.prepRefresh();</Sentence>
<Sentence ID = "3.5">         this.getUpdatedItems(refreshEvent, aChangeLogListener);</Sentence>
<Sentence ID = "3.6">             return;</Sentence>
<Sentence ID = "3.7">         }</Sentence>
<Sentence ID = "3.8"> this.mFirstRefreshDone is false because since the calendar was removed, we never got a chance to complete the call to getCalendarData() nor checkDavResourceType() (see https://bugzilla.mozilla.org/show_bug.cgi?id=463961 for that one...).</Sentence>
<Sentence ID = "3.9"> So, we'll enter into an infinite loop because getUpdatedItems() calls right at the beginning checkDavResourceType() since the calendar was marked as disabled.</Sentence>
<Sentence ID = "3.10"> But, checkDavResourceType() doesn't check for the 404 error code. </Sentence>
<Sentence ID = "3.11"> We have:</Sentence>
<Sentence ID = "3.12">            var str = convertByteArray(aResult, aResultLength);</Sentence>
<Sentence ID = "3.13">             if (!str) {</Sentence>
<Sentence ID = "3.14">                 dump(\"CalDAV: Failed to determine resource type\");</Sentence>
<Sentence ID = "3.15">                 thisCalendar.completeCheckServerInfo(aChangeLogListener, </Sentence>
<Sentence ID = "3.16">                                                     </Sentence>
<Sentence ID = "3.17"> Components.interfaces.calIErrors.DAV_NOT_DAV);</Sentence>
<Sentence ID = "3.18">                 return;</Sentence>
<Sentence ID = "3.19">             } else if (thisCalendar.verboseLogging()) {</Sentence>
<Sentence ID = "3.20">                 dump(\"CalDAV: recv: \" + str);</Sentence>
<Sentence ID = "3.21">             }</Sentence>
<Sentence ID = "3.22"> and we should rather have something like:</Sentence>
<Sentence ID = "3.23">            var str = convertByteArray(aResult, aResultLength);</Sentence>
<Sentence ID = "3.24">             if (!str || aContext.responseStatus == 404) {</Sentence>
<Sentence ID = "3.25">                 dump(\"CalDAV: Failed to determine resource type\");</Sentence>
<Sentence ID = "3.26">                 thisCalendar.completeCheckServerInfo(aChangeLogListener, </Sentence>
<Sentence ID = "3.27">                                                     </Sentence>
<Sentence ID = "3.28"> Components.interfaces.calIErrors.DAV_NOT_DAV);</Sentence>
<Sentence ID = "3.29">                 return;</Sentence>
<Sentence ID = "3.30">             } else if (thisCalendar.verboseLogging()) {</Sentence>
<Sentence ID = "3.31">                 dump(\"CalDAV: recv: \" + str);</Sentence>
<Sentence ID = "3.32">             }</Sentence>
<Sentence ID = "3.33"> This cause checkDavResourceType() to (incorrectly) continue its processing, which will cause a call to completeCheckServerInfo() with a success code and then again, a call to safeRefresh(), creating an infite loop for cached calendars.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-02-22 08:16:09'</Date>
<From>'Ludovic Marcotte'</From>
<Text>
<Sentence ID = "4.1"> Created an attachment (id=363577) [details]</Sentence>
<Sentence ID = "4.2"> Proposed fix</Sentence>
<Sentence ID = "4.3"> This bug is critical in order to avoid an endless loop and also in order to avoid generating _tons_ of HTTP requests to the CalDAV server (up to 10-20 per second).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-02-22 09:01:13'</Date>
<From>'Philipp Kewisch'</From>
<Text>
<Sentence ID = "5.1"> (From update of attachment 363577 [details])</Sentence>
<Sentence ID = "5.2"> Looks good, r=philipp.</Sentence>
<Sentence ID = "5.3"> I've added another completeCheckServerInfo further above since calling request.responseStatus if there was some sort of request error causes it to throw. </Sentence>
<Sentence ID = "5.4"> This is caught further above, but if we use it again here then we should break out earlier.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-02-22 09:02:30'</Date>
<From>'Philipp Kewisch'</From>
<Text>
<Sentence ID = "6.1"> Pushed to comm-central &amp;lt;http://hg.mozilla.org/comm-central/rev/7e4da21b2924&amp;gt;</Sentence>
<Sentence ID = "6.2"> -&amp;gt; FIXED</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "23">
<Title>"(403907) Thunderbird - Moving (+ delete/rename) a folder/subfolder [...] take a lot of CPU and one to two minutes of processing"</Title>
<Turn>
<Date>'2007-11-15 08:24:07'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "1.1"> For some time (2 months? more?, i don't remember) i have this problem:</Sentence>
<Sentence ID = "1.2"> --&amp;gt; if i drag and drop a folder from a location to an other, cpu use for thunderbird process is more than 50%.</Sentence>
<Sentence ID = "1.3"> --&amp;gt; Even if the folder is empty</Sentence>
<Sentence ID = "1.4"> --&amp;gt; It occurs with subfolder move inside Local Folders</Sentence>
<Sentence ID = "1.5"> --&amp;gt; It occurs with folder move inside a pop account (for example moving Inbox-&amp;gt;test to Draft-&amp;gt;test</Sentence>
<Sentence ID = "1.6"> --&amp;gt; It DOESN'T occurs when moving a folder from a pop account to an other (for example moving AccoutA --&amp;gt; Inbox --&amp;gt; test to AccountB --&amp;gt; Inbox --&amp;gt;test ... Butin this case, by design, folder is copied, not moved --&amp;gt; it seems that this is</Sentence>
<Sentence ID = "1.7"> the delete which is the problem</Sentence>
<Sentence ID = "1.8"> Other Facts</Sentence>
<Sentence ID = "1.9"> ============</Sentence>
<Sentence ID = "1.10"> - Memory doesn't change during the move time ... only a high level of cpu use</Sentence>
<Sentence ID = "1.11"> - Delete key or Right-click delete (so move to trash) got the same bad result</Sentence>
<Sentence ID = "1.12"> - Renaming a folder take a long time too</Sentence>
<Sentence ID = "1.13"> - Checking pop account take more resources than before ... 10 to 20\" of high cpu resource for checking mail, slowing a lot of windows applications</Sentence>
<Sentence ID = "1.14"> - Same thing for RSS folders ...</Sentence>
<Sentence ID = "1.15"> Hardware and Software information</Sentence>
<Sentence ID = "1.16"> =================================</Sentence>
<Sentence ID = "1.17"> Computer: Dell Latitude D820 laptop, Core 2 Duo 2GHz, 2Go Ram, 100Go HD 7200rpm</Sentence>
<Sentence ID = "1.18"> OS: Windows Vista Business</Sentence>
<Sentence ID = "1.19"> Thunderbird: TB nightly 2.0.0.10pre (2007111403) ... but problem occurs since long time</Sentence>
<Sentence ID = "1.20"> Profile: profile.ini modified to have the profile files on D:\\Thunderbird\\JMR.profil. </Sentence>
<Sentence ID = "1.21"> All emails account store on D:\\Thunderbird\\ (13 pop account + 69 RSS feeds)</Sentence>
<Sentence ID = "1.22"> D:\\Thunderbird: 2.3Go</Sentence>
<Sentence ID = "1.23"> Bigger file: 384Mo</Sentence>
<Sentence ID = "1.24"> Configuration: each pop has its own folder (inbox, etc ...) but rules filters lot of mails to subfolder in local folder directory</Sentence>
<Sentence ID = "1.25"> I've check bugzilla for similar bug, event Mozillazine forum, but never seen something like this</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-11-15 08:24:43'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "2.1"> Additional information: Running in safe mode: same problem</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-04 00:58:00'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "3.1">   ohoh ... thus bug seems related to my 10000 temp files in temp folder: tmprules-xxx.dat</Sentence>
<Sentence ID = "3.2"> I've deleted all of them --&amp;gt; filters works again AND this bug seems solved by removing them</Sentence>
<Sentence ID = "3.3"> bad news: new tmprules begin to appairs ...</Sentence>
<Sentence ID = "3.4"> So, this bug is a dup of bug 362539</Sentence>
<Sentence ID = "3.5"> *** This bug has been marked as a duplicate of bug 362539 ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-04 01:10:41'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "4.1"> I guess the really low perf behaviour was coming that TB parsed all 10000 rules files for all received mail ...</Sentence>
<Sentence ID = "4.2"> same thing when moving a folder, it parsed the 10000 rules files to see if these have to be updated after the move</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-04 07:56:21'</Date>
<From>'RDL'</From>
<Text>
<Sentence ID = "5.1"> (In reply to comment #2)</Sentence>
<Sentence ID = "5.2"> &amp;gt; ohoh ... thus bug seems related to my 10000 temp files in temp folder: tmprules-xxx.dat</Sentence>
<Sentence ID = "5.3"> &amp;gt; </Sentence>
<Sentence ID = "5.4"> &amp;gt; I've deleted all of them --&amp;gt; filters works again  AND this bug seems solved by removing them</Sentence>
<Sentence ID = "5.5"> &amp;gt; </Sentence>
<Sentence ID = "5.6"> &amp;gt; bad news: new tmprules begin to appairs ...</Sentence>
<Sentence ID = "5.7"> &amp;gt; </Sentence>
<Sentence ID = "5.8"> &amp;gt; So, this bug is a dup of bug 362539</Sentence>
<Sentence ID = "5.9"> &amp;gt; </Sentence>
<Sentence ID = "5.10"> &amp;gt; *** This bug has been marked as a duplicate of bug 362539 ***</Sentence>
<Sentence ID = "5.11"> &amp;gt; </Sentence>
<Sentence ID = "5.12"> This bug is not a duplicate of bug 362539.</Sentence>
<Sentence ID = "5.13"> Reason:</Sentence>
<Sentence ID = "5.14"> 1) Although the underlying cause may be the same, the symptoms of the two bugs are very different.</Sentence>
<Sentence ID = "5.15"> 2) Since the description attached to bug 362539 does not include the symptoms of this bug, it does not properly include this reported problem.</Sentence>
<Sentence ID = "5.16"> 3) When users search for this problem, now that this bug is closed, they probably will not find this description. </Sentence>
<Sentence ID = "5.17"> Nor will they find bug 362539 since it does not include these symptoms at the top level. </Sentence>
<Sentence ID = "5.18"> Hence they will not find the circumvention.</Sentence>
<Sentence ID = "5.19"> 4) Therefore, please re-open this bug report.</Sentence>
<Sentence ID = "5.20"> 5) Please do not attempt to amend the description of bug 362539. </Sentence>
<Sentence ID = "5.21"> Please leave that decision, as well as that of closure, to one of the Bugzilla 'monitors'</Sentence>
<Sentence ID = "5.22"> who will know whether that is appropriate and, if so, how to do it cleanly, without obscuring user access to information.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-04 12:44:15'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "6.1"> you're right ... </Sentence>
<Sentence ID = "6.2"> this bug depends of 362539 and not a dupe</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-04 13:06:50'</Date>
<From>'RDL'</From>
<Text>
<Sentence ID = "7.1"> (In reply to comment #5)</Sentence>
<Sentence ID = "7.2"> &amp;gt; you're right ... this bug depends of 362539 and not a dupe</Sentence>
<Sentence ID = "7.3"> &amp;gt; </Sentence>
<Sentence ID = "7.4"> Thank you.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-08 02:24:19'</Date>
<From>'WADA'</From>
<Text>
<Sentence ID = "8.1"> Adding \"tmprules-N.dat\" in bug summary, for ease of search &amp; understanding bug.</Sentence>
<Sentence ID = "8.2"> (It looks to be too long. Please modify to appropriate one.)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-17 02:43:21'</Date>
<From>'Jean-Michel Reghem'</From>
<Text>
<Sentence ID = "9.1"> Resolved fixed as bug 375292 is fixed on branch 1.8 and trunk</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-17 11:29:04'</Date>
<From>'Wayne Mery'</From>
<Text>
<Sentence ID = "10.1"> *** Bug 410739 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "24">
<Title>"(296655) Thunderbird -  selection of multiple mailboxes/folders in the folders pane is possible but not usable  "</Title>
<Turn>
<Date>'2005-06-04 17:11:09'</Date>
<From>'Elliotte Rusty Harold'</From>
<Text>
<Sentence ID = "1.1"> User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US;rv:1.8b2) Gecko/20050528 Firefox/1.0+</Sentence>
<Sentence ID = "1.2"> Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US;rv:1.8b2) Gecko/20050528 Firefox/1.0+</Sentence>
<Sentence ID = "1.3"> The folders pane in Thunderbird that lists my e-mail accounts and local folders does not allow me to select several folders at once. </Sentence>
<Sentence ID = "1.4"> For instance I should be able to click on my James folder to select it, shift-click on my John folder to select it without deselecting the James folder, and then drag them *both* into my Friends folder. </Sentence>
<Sentence ID = "1.5"> Currently I have to do this one at a time.</Sentence>
<Sentence ID = "1.6"> Reproducible: Always</Sentence>
<Sentence ID = "1.7"> Steps to Reproduce:</Sentence>
<Sentence ID = "1.8"> 1. Click on a local folder</Sentence>
<Sentence ID = "1.9"> 2. Shift-click on a different local folder</Sentence>
<Sentence ID = "1.10"> Actual Results:  </Sentence>
<Sentence ID = "1.11"> The first folder is deselected. </Sentence>
<Sentence ID = "1.12"> Expected Results:  </Sentence>
<Sentence ID = "1.13"> Kept both selected. </Sentence>
<Sentence ID = "1.14"> Possibly there's a difference here between shift and command-clicking (on a Mac). </Sentence>
<Sentence ID = "1.15"> Shift click should perhaps select everything between the clicked folder and the currently selected folder. </Sentence>
<Sentence ID = "1.16"> Command-clicking normally selects only the folders you explicitly click on. </Sentence>
<Sentence ID = "1.17"> Possibly there are other conventions on other platforms for multiple selections. </Sentence>
<Sentence ID = "1.18"> But multiple selections should be possible,</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-09-27 01:50:03'</Date>
<From>'Gervase Markham'</From>
<Text>
<Sentence ID = "2.1"> This is an automated message, with ID \"auto-resolve01\".</Sentence>
<Sentence ID = "2.2"> This bug has had no comments for a long time. </Sentence>
<Sentence ID = "2.3"> Statistically, we have found that bug reports that have not been confirmed by a second user after three months are</Sentence>
<Sentence ID = "2.4"> highly unlikely to be the source of a fix to the code.</Sentence>
<Sentence ID = "2.5"> While your input is very important to us, our resources are limited and so we are asking for your help in focussing our efforts. </Sentence>
<Sentence ID = "2.6"> If you can still reproduce this problem in the latest version of the product (see below for how to obtain a copy) or, for feature requests, if it's not present in the latest version and you still believe we should implement it, please visit the URL of this bug (given at the top of this mail) and add a comment to that effect, giving more reproduction information if you have it.</Sentence>
<Sentence ID = "2.7"> If it is not a problem any longer, you need take no action. </Sentence>
<Sentence ID = "2.8"> If this bug is not changed in any way in the next two weeks, it will be automatically resolved.</Sentence>
<Sentence ID = "2.9"> Thank you for your help in this matter.</Sentence>
<Sentence ID = "2.10"> The latest beta releases can be obtained from:</Sentence>
<Sentence ID = "2.11"> Firefox:     http://www.mozilla.org/projects/firefox/</Sentence>
<Sentence ID = "2.12"> Thunderbird: http://www.mozilla.org/products/thunderbird/releases/1.5beta1.html</Sentence>
<Sentence ID = "2.13"> Seamonkey:   http://www.mozilla.org/projects/seamonkey/</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-09-29 04:39:24'</Date>
<From>'Mike Cowperthwaite'</From>
<Text>
<Sentence ID = "3.1"> *** Bug 310352 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-09-29 04:40:42'</Date>
<From>'Mike Cowperthwaite'</From>
<Text>
<Sentence ID = "4.1"> Suite bug 50767.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-11-07 08:49:32'</Date>
<From>'Rob Campbell'</From>
<Text>
<Sentence ID = "5.1"> This is highly-desirable in my opinion. </Sentence>
<Sentence ID = "5.2"> I would like to see this implemented for easier management of RSS subscriptions.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-01-12 08:49:07'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "6.1"> *** Bug 366757 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-02-06 09:26:27'</Date>
<From>'SteveC'</From>
<Text>
<Sentence ID = "7.1"> I would love to see this closed, and also dragging up and down the folder pane much faster.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-10-09 09:48:18'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "8.1"> *** Bug 398712 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-11-19 03:01:54'</Date>
<From>'Alex Deriziotis'</From>
<Text>
<Sentence ID = "9.1"> This is pretty basic stuff. </Sentence>
<Sentence ID = "9.2"> It's been a bit of a showstopper when migrating Outlook users over to Thunderbird since heavy users often have tons of folders to organise their emails. </Sentence>
<Sentence ID = "9.3"> Importing their mail just dumps these folders into Local Folders and then they can't be re-organised in their inbox without going through them all one-by-one, which is just silly.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-31 01:24:22'</Date>
<From>'Przemyslaw Bialik'</From>
<Text>
<Sentence ID = "10.1"> On latest trunk multiple folders can be selected but there is completely no benefit of it: on drag and drop only 1 folder is moved, CM shows only 3 entries (open, open in new tab, properties) and even they are useless ;) (nothing happens / empty tab).</Sentence>
<Sentence ID = "10.2"> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b2pre) Gecko/20081030 Lightning/1.0pre Shredder/3.0b1pre</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-31 01:41:22'</Date>
<From>'Przemyslaw Bialik'</From>
<Text>
<Sentence ID = "11.1"> blockingâ€‘thunderbird3 ?</Sentence>
<Sentence ID = "11.2"> Multiple selection should be either useful or not possible at all.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-11 11:36:55'</Date>
<From>'Przemyslaw Bialik'</From>
<Text>
<Sentence ID = "12.1"> Adjusting description.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-12 11:09:52'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "13.1"> Marking as regression as in 2.0 you couldn't select more than one folder at a time.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-12-20 05:20:22'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "14.1"> Would be great if someone went through and made context commands work where it should, but at the very least we should make commands unavailable when they won't work anyway. </Sentence>
<Sentence ID = "14.2"> blocking-tb3+ to at least get the minimal fix in.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-21 22:44:54'</Date>
<From>'David Ascher'</From>
<Text>
<Sentence ID = "15.1"> Magnus, care to own this bug?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-02-08 11:47:06'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "16.1"> Sure, though if someone want's to take it on it's up for grabs.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-03 02:10:00'</Date>
<From>'Mark Banner'</From>
<Text>
<Sentence ID = "17.1"> *** Bug 481159 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-13 22:29:25'</Date>
<From>'Bryan W Clark'</From>
<Text>
<Sentence ID = "18.1"> I'll put this up for m5 since it's not active right now</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-25 12:08:51'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "19.1"> Created an attachment (id=374607) [details]</Sentence>
<Sentence ID = "19.2"> proposed fix</Sentence>
<Sentence ID = "19.3"> The items that I think make sense for multi select:</Sentence>
<Sentence ID = "19.4"> Get Messages</Sentence>
<Sentence ID = "19.5">  o if only servers, or it's only newsgroups/feeds </Sentence>
<Sentence ID = "19.6"> Open </Sentence>
<Sentence ID = "19.7">  o though I question that we should have this item *at all*</Sentence>
<Sentence ID = "19.8"> Open in new Tab</Sentence>
<Sentence ID = "19.9"> Unsubscribe</Sentence>
<Sentence ID = "19.10">  o if it's newsgroups only</Sentence>
<Sentence ID = "19.11"> Delete </Sentence>
<Sentence ID = "19.12">  o would have been useful, but the confirmation dialogs are not in js, we have multiple delete models etc so i gave up and just disabled it for multi selection</Sentence>
<Sentence ID = "19.13"> Compact</Sentence>
<Sentence ID = "19.14"> Mark Folder/s Read</Sentence>
<Sentence ID = "19.15"> Mark Newsgroup/s Read</Sentence>
<Sentence ID = "19.16"> ---</Sentence>
<Sentence ID = "19.17"> Other notes:</Sentence>
<Sentence ID = "19.18">  - hitting delete on ng to unsubscribe was broken (confirmUnsubscribe vs ConfirmUnsubscribe)</Sentence>
<Sentence ID = "19.19">  - new saved search wasn't enabled for news - but you can create one</Sentence>
<Sentence ID = "19.20">  - moving away from GetSelectedMsgFolders() to gFolderTreeView.getSelectedFolders()</Sentence>
<Sentence ID = "19.21"> Still to do (maybe in another bug...):</Sentence>
<Sentence ID = "19.22">  - fix tools menu folder commands</Sentence>
<Sentence ID = "19.23">  - drag'n'drop (disable for multi?)</Sentence>
<Sentence ID = "19.24"> ---</Sentence>
<Sentence ID = "19.25"> Phil: got bandwidth for this?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-04-26 12:32:57'</Date>
<From>'Phil Ringnalda'</From>
<Text>
<Sentence ID = "20.1"> (From update of attachment 374607 [details])</Sentence>
<Sentence ID = "20.2"> Looks good to me, except</Sentence>
<Sentence ID = "20.3"> &amp;gt;+   * Compacts either or all folders for accounts that the given folders belong to, or for accounts of the currently selected folders.</Sentence>
<Sentence ID = "20.4"> That's hard enough to parse even without the stray or in \"either or\" ;)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-07 14:21:40'</Date>
<From>'Bryan W Clark'</From>
<Text>
<Sentence ID = "21.1"> (From update of attachment 374607 [details])</Sentence>
<Sentence ID = "21.2"> sounds good from the description</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-08 17:52:17'</Date>
<From>'Bryan W Clark'</From>
<Text>
<Sentence ID = "22.1"> I was going to add the checkin-needed keyword but you probably want to fix the nits first</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-09 05:07:46'</Date>
<From>'Magnus Melin'</From>
<Text>
<Sentence ID = "23.1"> changeset:   2593:2f6ef8daa83e</Sentence>
<Sentence ID = "23.2"> http://hg.mozilla.org/comm-central/rev/2f6ef8daa83e</Sentence>
<Sentence ID = "23.3"> -&amp;gt;FIXED</Sentence>
<Sentence ID = "23.4"> Note to testers: now that this landed the commands of the folder context menu should work for multiple folders, if the are shown (and enabled). </Sentence>
<Sentence ID = "23.5"> There's a lot of different possible combinations of folders/servers of different kinds possible so it would be good if people could make sure all cases work as they should for them.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "25">
<Title>"(153211) KDE - Keyboard didn\'t respond anymore after I press Alt+Shift+Tab"</Title>
<Turn>
<Date>'2007-12-01 13:53:43'</Date>
<From>'Josep Febrer'</From>
<Text>
<Sentence ID = "1.1"> While using Alt+Tab for switching between applications works fine in my KDE4 post RC1 version, when I try to use Alt+Shift+Tab shortcut the keyboard did not respond anymore and I don't know how to get it back.</Sentence>
<Sentence ID = "1.2"> However the mouse it is still working properlly, so I can logout with the mouse and I when I log back the keyboard it also works.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-05 17:41:05'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "2.1"> I just hit this bug as well. </Sentence>
<Sentence ID = "2.2"> But unfortunately I can't re-trigger it at the moment. </Sentence>
<Sentence ID = "2.3"> While alt-shift-tab doesn't do anything here, the keyboard is still accessible.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-05 22:28:30'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "3.1"> This is really a serious problem. </Sentence>
<Sentence ID = "3.2"> It seems that if I hit Alt+Shift+tab directly I always get the problem. </Sentence>
<Sentence ID = "3.3"> And if I just hit Alt+Tab and then Alt+Shift+tab and release I get it as well, so I have to make sure I always hit Alt+Tab as last thing.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-06 23:06:22'</Date>
<From>'Matt Williams'</From>
<Text>
<Sentence ID = "4.1"> In KDE 3, Alt+Shift+Tab is one of the possible shortcuts used for switching keyboard layouts (keyboard layout kcm -&amp;gt; xkb options -&amp;gt; layout switching tree item). </Sentence>
<Sentence ID = "4.2"> Even though I don't have that box ticked, it still persists in changing the layout with that shortcut. </Sentence>
<Sentence ID = "4.3"> Perhaps, the shortcut is being sent to the same place but is causing a crash due to some bitrot?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-06 23:46:31'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "5.1"> While editing kglobalaccelsrc to change the shortcut does help, killing kxkb doesn't help at all and thus I don't think its kxkb causing the problem.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-06 23:47:54'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "6.1"> *** Bug 153495 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-07 00:18:11'</Date>
<From>'GaÃ«l de Chalendar'</From>
<Text>
<Sentence ID = "7.1"> I confirm. </Sentence>
<Sentence ID = "7.2"> I had to reboot. </Sentence>
<Sentence ID = "7.3"> Note that the mouse was behaving has if the Shift key was pressed: it was extending the selection when clicking with the left button. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-08 20:23:44'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "8.1"> The problem is in KGlobalAccel, it doesn't release the grab when a shortcut is set that isn't triggered. </Sentence>
<Sentence ID = "8.2"> Which is the case for Alt+Shift+Tab, the shortcut that is actually send by X11 is Alt+Shift+Backtab. </Sentence>
<Sentence ID = "8.3"> Re-Assigning.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-09 23:24:50'</Date>
<From>'Matt Williams'</From>
<Text>
<Sentence ID = "9.1"> *** Bug 153754 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-11 11:27:41'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "10.1"> SVN commit 747205 by apaku:</Sentence>
<Sentence ID = "10.2"> Add a hotfix for Bug #153211, also ungrab the keyboard when Alt+Shift+Backtab was hit CCBUG:153211</Sentence>
<Sentence ID = "10.3">  M  +5 -1      kglobalaccel_x11.cpp  </Sentence>
<Sentence ID = "10.4"> WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=747205</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-12 11:20:13'</Date>
<From>'Josep Febrer'</From>
<Text>
<Sentence ID = "11.1"> Thanks, your hotfix fixed this problem, however on the past KrushDay someone mentioned a similar issue pressing Alt+PrintScr which is still present for me.</Sentence>
<Sentence ID = "11.2"> I don't know if this is related with the original issue, but if not you can close this bug.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-12 12:03:33'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "12.1"> It could be, I'll check later today. </Sentence>
<Sentence ID = "12.2"> IIRC Alt+Print Screen is some snapshot function right? </Sentence>
<Sentence ID = "12.3"> You can easily check wether its the same issue by doing the following:</Sentence>
<Sentence ID = "12.4"> Open $HOME/.kde4/share/config/kglobalshortcutsrc and find the action there.</Sentence>
<Sentence ID = "12.5"> Then open any shortcut dialog in any application and change one of the shortcuts. </Sentence>
<Sentence ID = "12.6"> When you're asked for pressing the new keyboard combination press the Alt+Print keys and check wether the label of the shortcut button is now the same as that in the rc-file. </Sentence>
<Sentence ID = "12.7"> If they differ its the same problem and that means we need a different fix for this problem, than the hotfix I comitted.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-12 13:48:56'</Date>
<From>'Josep Febrer'</From>
<Text>
<Sentence ID = "13.1"> In kglobalshortcutsrc I have assigned Alt+Print to kwin, and also Alt+Shift+Tab to kwin. </Sentence>
<Sentence ID = "13.2"> But if in one application like Konqueror or Konsole I assing a new shortcurt to Alt+Print it get's changed automatically to Alt+Shift+Print, so I can't assign another Alt+Print shortcut.</Sentence>
<Sentence ID = "13.3"> However I can assign Alt+Shift+Tab shortcut, but besides it is still showing it in shortcut settings it doesn't work, and also it doesn't appear in kglobalshortcutsrc apart from the old one already existing and assigned to kwin.</Sentence>
<Sentence ID = "13.4"> Also I don't know if is my setup but in 'kcmshell4 keys' I can't modify any shortcut, in fact, it doesn't show any, but that can be another bug.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-12 14:02:30'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "14.1"> Ok  as far as I can see this is the same problem, namely that the keys Alt+Print don't produce the X11 keysequence that is expected. </Sentence>
<Sentence ID = "14.2"> In particular Alt+Shift+Tab creates a Qt key sequence of Alt+Shift+Backtab and seemingly Alt+Print creates Alt+Shift+Print in Qt key sequence. </Sentence>
<Sentence ID = "14.3"> So this is indeed the same problem.</Sentence>
<Sentence ID = "14.4"> Regarding the keys kcm: Thats \"expected\", the kcm hasn't been properly ported.</Sentence>
<Sentence ID = "14.5"> I've already posted a patch for a minimal port to the kde-core list. </Sentence>
<Sentence ID = "14.6"> That one will get comitted next monday, unless I get objections.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-12 16:21:52'</Date>
<From>'Josep Febrer'</From>
<Text>
<Sentence ID = "15.1"> I discovered another similar shortcut which is Ctrl+PrintScrn but this doesn't suffer this problem and works as expected.</Sentence>
<Sentence ID = "15.2"> To my knowledge, only Alt+Shift+Print and Alt+Print are triggered by this bug.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-29 21:26:29'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "16.1"> *** Bug 154692 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-18 09:43:38'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "17.1"> *** Bug 156069 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-18 18:27:22'</Date>
<From>'Lubos Lunak'</From>
<Text>
<Sentence ID = "18.1"> SVN commit 763132 by lunakl:</Sentence>
<Sentence ID = "18.2"> Since calling directly Xlib's XGrabKeyboard() is very unlikely and even probably undesired in kded, make KGlobalAccel again ungrab when there's no Qt caused grab.</Sentence>
<Sentence ID = "18.3"> BUG: 153211</Sentence>
<Sentence ID = "18.4">  M  +0 -7      kdedglobalaccel.cpp  </Sentence>
<Sentence ID = "18.5">  M  +1 -4      kdedglobalaccel.h  </Sentence>
<Sentence ID = "18.6">  M  +11 -11    kglobalaccel_x11.cpp  </Sentence>
<Sentence ID = "18.7"> WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=763132</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-23 19:38:13'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "19.1"> *** Bug 156434 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-05 22:47:48'</Date>
<From>'Mathieu Jobin'</From>
<Text>
<Sentence ID = "20.1"> this bug should still be open. </Sentence>
<Sentence ID = "20.2"> I am running 4.2 beta 2 and this problem is still there.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-02-12 10:52:27'</Date>
<From>'Mikael Gerdin'</From>
<Text>
<Sentence ID = "21.1"> I've found this bug in KDE 4.2 too. </Sentence>
<Sentence ID = "21.2"> I don't know if there is any specific key-combination that triggers it, but KWin acts as if I'm holding down the ALT-key, moving windows when I click and drag in them.</Sentence>
<Sentence ID = "21.3"> (Kubuntu 8.10 (intrepid) packages from kubuntu-experimental)</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "26">
<Title>"(61263) KDE - find callers of functions"</Title>
<Turn>
<Date>'2003-07-15 10:43:37'</Date>
<From>'RÃ¼diger Koch'</From>
<Text>
<Sentence ID = "1.1"> Version:            (using KDE KDE 3.1KDE 1.2)</Sentence>
<Sentence ID = "1.2"> Installed from:    SuSE RPMsSuSE RPMs</Sentence>
<Sentence ID = "1.3"> Sniff allows to find all locations from where a selected function is called.</Sentence>
<Sentence ID = "1.4"> KDevelop already allows to 'grep foo(' in the context menu of the class treeview. </Sentence>
<Sentence ID = "1.5"> While this feature doesn't work for me at all it would not do a good job since:</Sentence>
<Sentence ID = "1.6"> 1. It finds calls of the same function name belonging to a different class</Sentence>
<Sentence ID = "1.7"> 2. It doesn't find calls of functions if there are whitespaces between the function name and the left bracket such as foo-&amp;gt;bar ();</Sentence>
<Sentence ID = "1.8"> 3. It doesn't distinguish between overloaded functions</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-15 10:57:47'</Date>
<From>'Amilcar do Carmo Lucas'</From>
<Text>
<Sentence ID = "2.1"> It would be nice to know your KDevelop version! </Sentence>
<Sentence ID = "2.2">  </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-15 11:47:28'</Date>
<From>'rkoch@rkoch.org'</From>
<Text>
<Sentence ID = "3.1"> Subject: Re:  find callers of functions         </Sentence>
<Sentence ID = "3.2"> version 2.1.3. Sorry if the feature is in a newer version of KDevelop (3.0) but nothing in the changelog suggests that.</Sentence>
<Sentence ID = "3.3"> -Rudiger</Sentence>
<Sentence ID = "3.4"> --- Amilcar do Carmo Lucas &amp;lt;a.lucas@tu-bs.de&amp;gt; wrote:</Sentence>
<Sentence ID = "3.5"> &amp;gt; ------- You are receiving this mail because: -------</Sentence>
<Sentence ID = "3.6"> &amp;gt; You reported the bug, or are watching the reporter.</Sentence>
<Sentence ID = "3.7"> &amp;gt;      </Sentence>
<Sentence ID = "3.8"> &amp;gt; http://bugs.kde.org/show_bug.cgi?id=61263     </Sentence>
<Sentence ID = "3.9"> &amp;gt; a.lucas@tu-bs.de changed:</Sentence>
<Sentence ID = "3.10"> &amp;gt; </Sentence>
<Sentence ID = "3.11"> &amp;gt;            What    |Removed                     |Added</Sentence>
<Sentence ID = "3.12"> &amp;gt;</Sentence>
<Sentence ID = "3.13"> ----------------------------------------------------------------------------</Sentence>
<Sentence ID = "3.14"> &amp;gt;           Component|general                     |classview</Sentence>
<Sentence ID = "3.15"> &amp;gt; </Sentence>
<Sentence ID = "3.16"> &amp;gt; </Sentence>
<Sentence ID = "3.17"> &amp;gt; </Sentence>
<Sentence ID = "3.18"> &amp;gt; ------- Additional Comments From a.lucas@tu-bs.de  2003-07-15 10:57</Sentence>
<Sentence ID = "3.19"> &amp;gt; -------</Sentence>
<Sentence ID = "3.20"> &amp;gt; It would be nice to know your KDevelop version!</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-15 12:01:54'</Date>
<From>'Amilcar do Carmo Lucas'</From>
<Text>
<Sentence ID = "4.1"> Sorry, KDevelop 2.x is no longer under development.</Sentence>
<Sentence ID = "4.2"> You are strongly advised to update to the latest CVS version of KDevelop3, code name gideon, take a look at:</Sentence>
<Sentence ID = "4.3"> http://www.kdevelop.org/index.html?filename=branches_compiling.html</Sentence>
<Sentence ID = "4.4"> for all the details you need. </Sentence>
<Sentence ID = "4.5"> If you find a problem or need help please send a mail to the mailing list:</Sentence>
<Sentence ID = "4.6"> http://www.kdevelop.org/index.html?filename=mailinglist.html</Sentence>
<Sentence ID = "4.7"> or drop us a line at the channel #kdevelop on the server irc.kde.org using ksirc, for example.</Sentence>
<Sentence ID = "4.8"> Please use the CVS version and compile it yourself because that way you can easily patch it if a bug is found.</Sentence>
<Sentence ID = "4.9"> KDevelop3 can open Develop2 projects. </Sentence>
<Sentence ID = "4.10"> To do so, goto the \"Project -&amp;gt; Open Project ... \" and select \"KDevelop 2 Project Files\" in the \"Filter:\".</Sentence>
<Sentence ID = "4.11"> You can have and run KDevelop3 and KDevelop2 at the same time on the same computer without any problems.</Sentence>
<Sentence ID = "4.12"> So migrating is a breeze. :)</Sentence>
<Sentence ID = "4.13"> P.S. : The KDevelop team closed over 452 reported and confirmed bugs since the release of KDevelop2.1.3</Sentence>
<Sentence ID = "4.14"> The bad news is that KDevelop3 currently has 120 reported bugs :(</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-15 14:18:19'</Date>
<From>'rkoch@rkoch.org'</From>
<Text>
<Sentence ID = "5.1"> Subject: Re:  find callers of functions         </Sentence>
<Sentence ID = "5.2"> Unfortunatelly I am behind a huge firewall. </Sentence>
<Sentence ID = "5.3"> Would you be so kind to send a tarball to ruediger.koch@db.com ?</Sentence>
<Sentence ID = "5.4"> Thanks a lot</Sentence>
<Sentence ID = "5.5"> -Rudiger</Sentence>
<Sentence ID = "5.6"> --- Amilcar do Carmo Lucas &amp;lt;a.lucas@tu-bs.de&amp;gt; wrote:</Sentence>
<Sentence ID = "5.7"> &amp;gt; ------- You are receiving this mail because: -------</Sentence>
<Sentence ID = "5.8"> &amp;gt; You reported the bug, or are watching the reporter.</Sentence>
<Sentence ID = "5.9"> &amp;gt;      </Sentence>
<Sentence ID = "5.10"> &amp;gt; http://bugs.kde.org/show_bug.cgi?id=61263     </Sentence>
<Sentence ID = "5.11"> &amp;gt; a.lucas@tu-bs.de changed:</Sentence>
<Sentence ID = "5.12"> &amp;gt; </Sentence>
<Sentence ID = "5.13"> &amp;gt;            What    |Removed                     |Added</Sentence>
<Sentence ID = "5.14"> &amp;gt;</Sentence>
<Sentence ID = "5.15"> ----------------------------------------------------------------------------</Sentence>
<Sentence ID = "5.16"> &amp;gt;             Version|unspecified                 |2.1.3</Sentence>
<Sentence ID = "5.17"> &amp;gt; </Sentence>
<Sentence ID = "5.18"> &amp;gt; </Sentence>
<Sentence ID = "5.19"> &amp;gt; </Sentence>
<Sentence ID = "5.20"> &amp;gt; ------- Additional Comments From a.lucas@tu-bs.de  2003-07-15 12:01</Sentence>
<Sentence ID = "5.21"> &amp;gt; -------</Sentence>
<Sentence ID = "5.22"> &amp;gt; Sorry, KDevelop 2.x is no longer under development.</Sentence>
<Sentence ID = "5.23"> &amp;gt; </Sentence>
<Sentence ID = "5.24"> &amp;gt; You are strongly advised to update to the latest CVS version of KDevelop3, code name gideon, take a look at:</Sentence>
<Sentence ID = "5.25"> &amp;gt; http://www.kdevelop.org/index.html?filename=branches_compiling.html</Sentence>
<Sentence ID = "5.26"> &amp;gt; for all the details you need. </Sentence>
<Sentence ID = "5.27"> &amp;gt; If you find a problem or need help please send a mail to the mailing list:</Sentence>
<Sentence ID = "5.28"> &amp;gt; http://www.kdevelop.org/index.html?filename=mailinglist.html</Sentence>
<Sentence ID = "5.29"> &amp;gt; or drop us a line at the channel #kdevelop on the server irc.kde.org using ksirc, for example.</Sentence>
<Sentence ID = "5.30"> &amp;gt; Please use the CVS version and compile it yourself because that way you can easily patch it if a bug is found.</Sentence>
<Sentence ID = "5.31"> &amp;gt; </Sentence>
<Sentence ID = "5.32"> &amp;gt; KDevelop3 can open Develop2 projects. </Sentence>
<Sentence ID = "5.33"> &amp;gt; To do so, goto the \"Project -&amp;gt; Open Project ... \" and select \"KDevelop 2 Project Files\" in the \"Filter:\".</Sentence>
<Sentence ID = "5.34"> &amp;gt; You can have and run KDevelop3 and KDevelop2 at the same time on the same computer without any problems.</Sentence>
<Sentence ID = "5.35"> &amp;gt; So migrating is a breeze. :)</Sentence>
<Sentence ID = "5.36"> &amp;gt; </Sentence>
<Sentence ID = "5.37"> &amp;gt; P.S. : The KDevelop team closed over 452 reported and confirmed bugs since the release of KDevelop2.1.3</Sentence>
<Sentence ID = "5.38"> &amp;gt; The bad news is that KDevelop3 currently has 120 reported bugs :(</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-15 17:17:07'</Date>
<From>'Amilcar do Carmo Lucas'</From>
<Text>
<Sentence ID = "6.1"> ftp://ftp.kde.org/pub/kde/unstable/snapshots/kdevelop.tar.bz2</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-07-16 10:48:11'</Date>
<From>'rkoch@rkoch.org'</From>
<Text>
<Sentence ID = "7.1"> Subject: Re:  find callers of functions         </Sentence>
<Sentence ID = "7.2"> Let me first say, I am really impressed with gideon. </Sentence>
<Sentence ID = "7.3"> It shows a lot of potential! </Sentence>
<Sentence ID = "7.4"> Excellent work so far. </Sentence>
<Sentence ID = "7.5"> I am really looking forward to the stable releases.</Sentence>
<Sentence ID = "7.6"> The specific feature I was looking for is still not present, although the grep works, as long as it is looking for pointers as foo-&amp;gt;doit(); foo.doit() is not found.</Sentence>
<Sentence ID = "7.7"> My coworkers did not all master regular expressions. </Sentence>
<Sentence ID = "7.8"> For them, a \"find callers\" item that simply does what is requested without intimidating them with a dialog sporting an arcane regex would be close to ideal. </Sentence>
<Sentence ID = "7.9"> That menu item should be in the class view - the context menu of a function.</Sentence>
<Sentence ID = "7.10"> The regex</Sentence>
<Sentence ID = "7.11"> (\\.|\\-&amp;gt;|::)[\\t ]*\\&amp;lt;%s\\&amp;gt;[\\t ]*\\(</Sentence>
<Sentence ID = "7.12"> is getting close. </Sentence>
<Sentence ID = "7.13"> It finds the function definition itself and the \"\\fn ClassName::doit(), however - we may filter it out in a second pass.</Sentence>
<Sentence ID = "7.14"> This would also find Bar::doit() even if Bar has nothing to do with Foo, but - nobody is perfect.</Sentence>
<Sentence ID = "7.15"> -Rudiger</Sentence>
<Sentence ID = "7.16"> --- Amilcar do Carmo Lucas &amp;lt;a.lucas@tu-bs.de&amp;gt; wrote:</Sentence>
<Sentence ID = "7.17"> &amp;gt; ------- You are receiving this mail because: -------</Sentence>
<Sentence ID = "7.18"> &amp;gt; You reported the bug, or are watching the reporter.</Sentence>
<Sentence ID = "7.19"> &amp;gt;      </Sentence>
<Sentence ID = "7.20"> &amp;gt; http://bugs.kde.org/show_bug.cgi?id=61263     </Sentence>
<Sentence ID = "7.21"> &amp;gt; </Sentence>
<Sentence ID = "7.22"> &amp;gt; </Sentence>
<Sentence ID = "7.23"> &amp;gt; </Sentence>
<Sentence ID = "7.24"> &amp;gt; </Sentence>
<Sentence ID = "7.25"> &amp;gt; ------- Additional Comments From a.lucas@tu-bs.de  2003-07-15 17:17</Sentence>
<Sentence ID = "7.26"> &amp;gt; -------</Sentence>
<Sentence ID = "7.27"> &amp;gt; ftp://ftp.kde.org/pub/kde/unstable/snapshots/kdevelop.tar.bz2</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-09-09 10:01:38'</Date>
<From>'Alexey Arzamasov'</From>
<Text>
<Sentence ID = "8.1"> I guess the feature you are talking about is like a 'Find Usage' feature as it works in IntelliJ IDEA (Java IDE), so, this is good. </Sentence>
<Sentence ID = "8.2"> I just want to add here, a some behaviour one could add while implelemnting this feature.</Sentence>
<Sentence ID = "8.3"> Along with having a 'Find Usage' feature wich produce a list of places in the project like the 'Grep' do, is would be very nice to have an 'Hightlight Usage' feature wich is just hightlight the usage of a function or a variable in the currect file only and do not produce any windows. </Sentence>
<Sentence ID = "8.4"> Having binded this to some shortcut is very handy. </Sentence>
<Sentence ID = "8.5"> Look how it works: </Sentence>
<Sentence ID = "8.6">  - The user presses Alt+Shift+F7 (e.g.) </Sentence>
<Sentence ID = "8.7">  - Gideon hightligh the usage of currenlty selected funciton/variable (or one which is under the cursor and not selected) </Sentence>
<Sentence ID = "8.8">  - User got the response, make his/her mind clear about the usage </Sentence>
<Sentence ID = "8.9">  - User press Esc and hightligh turned off. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-09-19 20:36:31'</Date>
<From>'Amilcar do Carmo Lucas'</From>
<Text>
<Sentence ID = "9.1"> This is comming. </Sentence>
<Sentence ID = "9.2"> Stay tunned! </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-02 14:48:47'</Date>
<From>'Mike Whittaker'</From>
<Text>
<Sentence ID = "10.1"> Call Tree/Graph Viewer</Sentence>
<Sentence ID = "10.2"> Not only \"Find Usage\" - why can't C users have a \"Function Call Tree\" view - either organised by caller or by callee.</Sentence>
<Sentence ID = "10.3"> This used to be a standard part of IDEs such as Borland, but has been substituted with a Class Viewer - I don't say 'replaced' since a Class Viewer is no replacement for a Call graph view !</Sentence>
<Sentence ID = "10.4"> Forgive me if this is in KDEv 3.0/Gideon ...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-03 17:57:50'</Date>
<From>'Paul Fee'</From>
<Text>
<Sentence ID = "11.1"> *** This bug has been confirmed by popular vote. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-03 18:02:59'</Date>
<From>'Paul Fee'</From>
<Text>
<Sentence ID = "12.1"> Doxygen includes similar information.  </Sentence>
<Sentence ID = "12.2"> It has a call graph but (unfortunately) lacks a called-by graph.</Sentence>
<Sentence ID = "12.3"> It would also be nice if this feature was clever enough to understand C++ scoping rules, e.g. a call within foo::bar() to boo() could be a call to foo::boo() or boo() or a function within a namespace previously specified with \"using namespace\".</Sentence>
<Sentence ID = "12.4"> Grep will not provide enough intelligence to find such matches. </Sentence>
<Sentence ID = "12.5"> However it's not a bad start if use of a C++ AST is too complex.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-12-07 19:41:42'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "13.1"> Just to get all these voters a bit excited: A basic experimental use-highlighter has been implemented in KDevelop4 the last days. </Sentence>
<Sentence ID = "13.2"> AFAIK it currently highlights only usages of variables, but extending that shouldn't be much of a problem.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-29 15:52:06'</Date>
<From>'Andreas Pakulat'</From>
<Text>
<Sentence ID = "14.1"> comming in kdevelop4.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-31 21:55:57'</Date>
<From>'Amilcar do Carmo Lucas'</From>
<Text>
<Sentence ID = "15.1"> This is Fixed in KDevelop4</Sentence>
<Sentence ID = "15.2"> Take a look at \"code navigation\" blog on www.kdevelop.org for details</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "27">
<Title>"(188311) KDE - The applet panel should not overlap applets "</Title>
<Turn>
<Date>'2009-03-28 11:35:10'</Date>
<From>'mangus'</From>
<Text>
<Sentence ID = "1.1"> version:           svn (using Devel)</Sentence>
<Sentence ID = "1.2"> OS:                Linux</Sentence>
<Sentence ID = "1.3"> Installed from:    Compiled sources</Sentence>
<Sentence ID = "1.4"> In amarok2-svn I like the the new contextview , but I found the new bottom bar for managing applets annoying , as it covers parts of other applets sometimes , like lyrics one , so that you miss a part of it. </Sentence>
<Sentence ID = "1.5"> Could be handy to have it appear and desappear onmouseover.</Sentence>
<Sentence ID = "1.6"> thanks</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-28 14:53:55'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "2.1"> The real solution is to make it not cover applets, not make it appear/disappear on mouse over.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 14:34:53'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "3.1"> i dont understand your point, dan... how do we make it not cover applets?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 16:32:22'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "4.1"> Thats your problem to solve :)</Sentence>
<Sentence ID = "4.2"> The toolbar should be like the panel in kde, it gets it's own area to draw in (a strut in window manager terms). </Sentence>
<Sentence ID = "4.3"> The applets should not consider the space the toolbar takes up to be theirs to play in, but rather end at the top of it.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 17:26:09'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "5.1"> well if i move a window on my desktop down, the panel does cover it. </Sentence>
<Sentence ID = "5.2"> so i still don't understand...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 18:19:23'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "6.1"> right, but new windows placed on the desktop do not get placed under the panel, and maximizing windows doesn't put them under the panel either.  </Sentence>
<Sentence ID = "6.2"> You need to explicitely place the window under the panel, and I considder it a bug that it's possible (but that's not what this debate is about).]</Sentence>
<Sentence ID = "6.3"> The panel should not obfuscate applets by default.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 18:53:15'</Date>
<From>'Mark Kretschmann'</From>
<Text>
<Sentence ID = "7.1"> I fully agree with Dan here, and I also fully admit that I don't have the slightest clue on how to implement this technically :)</Sentence>
<Sentence ID = "7.2"> But I really think that what he wrote makes a lot of sense, if feasible.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 19:39:03'</Date>
<From>'mangus'</From>
<Text>
<Sentence ID = "8.1"> Created an attachment (id=32462) [details]</Sentence>
<Sentence ID = "8.2"> amarok-svn toolbar overlap</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 19:39:39'</Date>
<From>'mangus'</From>
<Text>
<Sentence ID = "9.1"> Me and Dan are meaning this.. a screen is better then words sometimes :-)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 19:44:35'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "10.1"> i know what it looks like, 've been staring at it all day. btw, that screenshot is outdated now :)</Sentence>
<Sentence ID = "10.2"> i still don't see how else you guys plan to visualize it. </Sentence>
<Sentence ID = "10.3"> do you just want a border for the applet area, so instead of hitting the panel directly, it ends at the border? </Sentence>
<Sentence ID = "10.4"> i mean, applets *will* be logically under the location of the panel---all the applets that a user can  have will not fit on the screen at the same time---so how else to show it?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 19:50:43'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "11.1"> The applet should end where the toolbar begins.  </Sentence>
<Sentence ID = "11.2"> Applets should not be larger than the viewable area, if there's an applet above it, then the lower applet should get a smaller sizehint, and resize if necessary when it's the active applet (and therefore the only one on the screen)</Sentence>
<Sentence ID = "11.3"> Basically, no applet should continue on off the screen, it should end at the panel.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 19:58:27'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "12.1"> i disagree :) what you are describing is a very different use-case of the CV in general, and distinctly different from what the original idea that was developed. </Sentence>
<Sentence ID = "12.2"> in fact, i think there is another bug where we've already had this discussion (with mark), and this has come up on IRC. </Sentence>
<Sentence ID = "12.3"> anyway, this is not something to be fixed, but rather a change that needs to be discussed with people like e.g. leinir.</Sentence>
<Sentence ID = "12.4"> regardless of all of this, the problem of \"applets falling off the end of the screen\" should be mitigated when we are able to resize applets.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-29 20:48:48'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "13.1"> You can't tell me that the screenshot attached to this bug is intended.</Sentence>
<Sentence ID = "13.2"> There is no way to see the final line or two in the lyrics applet.  </Sentence>
<Sentence ID = "13.3"> This is a major bug.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-30 17:30:19'</Date>
<From>'Dan Leinir Turthra Jensen'</From>
<Text>
<Sentence ID = "14.1"> The bug that is being shown here is the fact that you cannot yet resize your applets, and as such we also don't set default sizes sanely. </Sentence>
<Sentence ID = "14.2"> You are reporting a bug on a non-completed feature ;)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-30 19:10:07'</Date>
<From>'mangus'</From>
<Text>
<Sentence ID = "15.1"> infact it was a wish! ;-)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-30 20:04:58'</Date>
<From>'Dan Leinir Turthra Jensen'</From>
<Text>
<Sentence ID = "16.1"> Of course :) Just thought i should point out that the feature is not yet completed - the polish that's gone into it Ù…ately could seem like an indication of feature completion, and as such it would seem the prudent course to inform you Ùhat that is not the case :)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-31 00:33:48'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "17.1"> I don't think that this should be dependent on being able to resize freely at all...</Sentence>
<Sentence ID = "17.2"> Most of the time, the sizegrip for resizing ends up in the bottom right corner, and as such, would be inaccessable reguardless of whether it was free sizing or not.</Sentence>
<Sentence ID = "17.3"> The bug isn't that the applet can't be made smaller, but that part of the applet is completely inaccesible.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-31 15:56:48'</Date>
<From>'Kevin Funk'</From>
<Text>
<Sentence ID = "18.1"> I fully agree with Dan aswell. </Sentence>
<Sentence ID = "18.2"> I don't understand the confusion as it doesnt matter at all if an applet is resizable or not.</Sentence>
<Sentence ID = "18.3"> To quote Dan:</Sentence>
<Sentence ID = "18.4"> \"The applet should end where the toolbar begins.</Sentence>
<Sentence ID = "18.5"> Applets should not be larger than the viewable area, if there's an applet above it, then the lower applet should get a smaller sizehint, and resize if necessary when it's the active applet (and therefore the only one on the screen)\"</Sentence>
<Sentence ID = "18.6"> That's the expected behaviour and what is used in the playlist aswell. </Sentence>
<Sentence ID = "18.7"> Track items dont overlap the lower toolbar, do they?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-17 17:22:44'</Date>
<From>'Dan Meltzer'</From>
<Text>
<Sentence ID = "19.1"> *** Bug 174221 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-05-18 01:02:22'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "20.1"> will be fixed in 2.1.1, done locally.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-02 10:34:10'</Date>
<From>'mangus'</From>
<Text>
<Sentence ID = "21.1"> I found it probably fixed in trunk :-) </Sentence>
<Sentence ID = "21.2"> can Leo confirm that? </Sentence>
<Sentence ID = "21.3"> we could close this....</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-06-02 10:45:41'</Date>
<From>'Leo Franchi'</From>
<Text>
<Sentence ID = "22.1"> yep, sorry forgot to close when i pushed.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "28">
<Title>"(88340) KDE - disable displaying of status icons of contacts "</Title>
<Turn>
<Date>'2004-08-28 22:18:10'</Date>
<From>'Janis Blechert'</From>
<Text>
<Sentence ID = "1.1"> Version:           0.9.0 (using KDE 3.3.0, Gentoo)</Sentence>
<Sentence ID = "1.2"> Compiler:          gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6)</Sentence>
<Sentence ID = "1.3"> OS:                Linux (i686) release 2.6.8-gentoo-r3</Sentence>
<Sentence ID = "1.4"> Since Kopete is a multimessenger and has the idea of metacontacts etc I don't think it's neccessary to display on which network the contact is online (because it doesn't matter), this makes even more sense if you have people who have several different accounts and irc nicks and keeping track of all of them can quite clutter the contact list, so I would simply like an option to turn of the displaying of the tiny icq/irc/etc icons right (or wherever you choose them to be) of the display name, hope this will be done any time soon, thanks for kopete it's such a great app!</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-29 19:46:43'</Date>
<From>'Georges Goncalves'</From>
<Text>
<Sentence ID = "2.1"> I'd like an option to do exactly the OPPOSITE ! :-) </Sentence>
<Sentence ID = "2.2"> In fact, the contact list is organised as [KopeteStatusIcon][ContactName][ProtocolIcon]. </Sentence>
<Sentence ID = "2.3"> Well, I'd like a way to tell Kopete to display only [ProtocolIcon][ContactName].</Sentence>
<Sentence ID = "2.4"> In fact, the best way would be to allow a CSS customisation of the contact list, just as we can have in message windows :-)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-29 21:07:53'</Date>
<From>'Richard Smith'</From>
<Text>
<Sentence ID = "3.1"> I am already considering adding that feature for the next version of Kopete; there are no technical or technological problems preventing it. </Sentence>
<Sentence ID = "3.2"> However, there may not be time to implement it before KDE3.4.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-29 22:11:42'</Date>
<From>'Jason Keirstead'</From>
<Text>
<Sentence ID = "4.1"> On September 29, 2004 04:07 pm, Richard Smith wrote:</Sentence>
<Sentence ID = "4.2"> &amp;gt; ------- I am already considering adding that feature for the next version of Kopete; there are no technical or technological problems preventing it.</Sentence>
<Sentence ID = "4.3"> &amp;gt; However, there may not be time to implement it before KDE3.4.</Sentence>
<Sentence ID = "4.4"> Richard, are you hinting that you are going to render the list view inside a  KHTML widget?</Sentence>
<Sentence ID = "4.5"> That would be hella cool, but also hella complicated.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-09-29 23:27:58'</Date>
<From>'Richard Smith'</From>
<Text>
<Sentence ID = "5.1"> On Wednesday 29 September 2004 9:13 pm, Jason Keirstead wrote:</Sentence>
<Sentence ID = "5.2"> &amp;gt; Richard, are you hinting that you are going to render the list view inside a KHTML widget?</Sentence>
<Sentence ID = "5.3"> It's an option I'm considering, for sure. </Sentence>
<Sentence ID = "5.4"> But the current contact list code is quite flexible - flexible enough to allow me to throw together a drag-and-drop style editor for it, at least. </Sentence>
<Sentence ID = "5.5"> This needs more discussion before anything gets coded.</Sentence>
<Sentence ID = "5.6"> Richard</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-11-14 14:44:00'</Date>
<From>'Will Stephenson'</From>
<Text>
<Sentence ID = "6.1"> Something to think about for 4.1</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-21 14:59:38'</Date>
<From>'Ramon Antonio Parada'</From>
<Text>
<Sentence ID = "7.1"> I think many people would be interested in showing this. </Sentence>
<Sentence ID = "7.2"> Maybe an option could be added (if enought demand) to disable it.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-03-30 10:33:56'</Date>
<From>'Roman Jarosz'</From>
<Text>
<Sentence ID = "8.1"> Fixed in trunk (SVN commit 946606) will be in KDE 4.3, in trunk user can define contact list layout so you can hide the icons or change order.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "29">
<Title>"(66526) KDE - Indentation mode to align line to code structure "</Title>
<Turn>
<Date>'2003-10-25 00:53:11'</Date>
<From>'Martin KÃ¶bele'</From>
<Text>
<Sentence ID = "1.1"> Version:            (using KDE Devel)</Sentence>
<Sentence ID = "1.2"> Installed from:    Compiled sources</Sentence>
<Sentence ID = "1.3"> identation itself works fine.</Sentence>
<Sentence ID = "1.4"> But:</Sentence>
<Sentence ID = "1.5"> let's see this example:</Sentence>
<Sentence ID = "1.6"> 	hello1</Sentence>
<Sentence ID = "1.7"> 	    hello2</Sentence>
<Sentence ID = "1.8"> 	hello3</Sentence>
<Sentence ID = "1.9"> If you go with the cursor to hello2 and press ctrl-i, hello2 is moved even further to the right.</Sentence>
<Sentence ID = "1.10"> The right (and expected) behaviour is that hello should be moved to the left so it is right under hello1.</Sentence>
<Sentence ID = "1.11"> (compare it with the behaviour of tab in xemacs)</Sentence>
<Sentence ID = "1.12"> In my eyes, this really needs to be fixed.</Sentence>
<Sentence ID = "1.13"> Thanks!!!</Sentence>
<Sentence ID = "1.14"> Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-25 00:54:41'</Date>
<From>'Martin KÃ¶bele'</From>
<Text>
<Sentence ID = "2.1"> oh dear, the formatting is lost.</Sentence>
<Sentence ID = "2.2"> Imagine, that hello2 is moved a bit to the right, like a \\t in front of it.</Sentence>
<Sentence ID = "2.3"> Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-25 01:05:45'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "3.1"> Hmm, why would hello2 move left?  </Sentence>
<Sentence ID = "3.2"> Are you saying it should align itself to the 'closest' tab boundary?</Sentence>
<Sentence ID = "3.3"> So if you had a tabspace of 8 characters and you had</Sentence>
<Sentence ID = "3.4"> ........hello</Sentence>
<Sentence ID = "3.5"> ...........hello2</Sentence>
<Sentence ID = "3.6"> Ctrl-I on hello2 should move it left because it's only 3 away from the left boundary but 5 away from the right one?</Sentence>
<Sentence ID = "3.7"> For Kate, ctrl-I semantics have always been to unconditionally insert a 'positive' indent. </Sentence>
<Sentence ID = "3.8"> Positive meaning to the right.  </Sentence>
<Sentence ID = "3.9"> This is a bug wrt other editors ...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-25 01:11:35'</Date>
<From>'Martin KÃ¶bele'</From>
<Text>
<Sentence ID = "4.1"> hi,</Sentence>
<Sentence ID = "4.2"> hello2 should be moved to the left, because it is not aligned with the line  above.</Sentence>
<Sentence ID = "4.3"> Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-25 09:30:53'</Date>
<From>'Martin KÃ¶bele'</From>
<Text>
<Sentence ID = "5.1"> Martin KÃ¶bele  2003-10-25 09:30:53  -------</Sentence>
<Sentence ID = "5.2"> let me try it again:</Sentence>
<Sentence ID = "5.3"> let's say we have the code</Sentence>
<Sentence ID = "5.4"> something </Sentence>
<Sentence ID = "5.5"> {</Sentence>
<Sentence ID = "5.6"> ........hello1();</Sentence>
<Sentence ID = "5.7"> ...........hello2();</Sentence>
<Sentence ID = "5.8"> ........hello3();</Sentence>
<Sentence ID = "5.9"> }</Sentence>
<Sentence ID = "5.10"> if you go now with the cursor in the line of hello2, hello2 should be moved to the left, because</Sentence>
<Sentence ID = "5.11"> 1.) identation is about +8 spaces in a block, beginning from the opening parentheses (amount of spaces depends on your configuration of course).</Sentence>
<Sentence ID = "5.12"> 2.) hello1 specifies where the block shall be aligned.</Sentence>
<Sentence ID = "5.13"> Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2003-10-25 19:22:52'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "6.1"> Right, so you are looking for an 'Align' action. </Sentence>
<Sentence ID = "6.2">  This is more of a 'wishlist' since Kate doesn't really have this (see below).  </Sentence>
<Sentence ID = "6.3"> It has unconditional indent left and right.</Sentence>
<Sentence ID = "6.4"> If you want hello2 to move left go to Tools and hit 'Unindent' which will move it left to the tab stop. </Sentence>
<Sentence ID = "6.5"> If you 'Indent' it will move to position 16, the next tab stop to the right.</Sentence>
<Sentence ID = "6.6"> You can alternatively try 'Clean Indentation' and see if that aligns the misaligned blocks of code for you. </Sentence>
<Sentence ID = "6.7"> It will even out the misaligned blocks of code most of the time if it can. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-01-02 01:18:24'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "7.1"> *** Bug 71479 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-02-25 05:01:38'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "8.1"> *** Bug 75951 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-06-02 05:37:41'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "9.1"> This is available in cvs. </Sentence>
<Sentence ID = "9.2"> Currently it works only if you use the 'cstyle' auto-indenter.  </Sentence>
<Sentence ID = "9.3"> The default shortcut is CTRL + TAB (controlled tab) and will align the current line OR the block of text you select according to normal c/c++ conventions.</Sentence>
<Sentence ID = "9.4"> See also bug 40656 for further information and a warning.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-06-02 12:23:11'</Date>
<From>'jkyro@pp.htv.fi'</From>
<Text>
<Sentence ID = "10.1"> How does this work with things inside parenthesis, like parameter lists and conditionals?</Sentence>
<Sentence ID = "10.2"> I'd like to have it as in emacs:</Sentence>
<Sentence ID = "10.3"> if ( foo == 1 &amp;&amp;</Sentence>
<Sentence ID = "10.4">      bar == 2 ) {</Sentence>
<Sentence ID = "10.5">    doit();</Sentence>
<Sentence ID = "10.6"> }</Sentence>
<Sentence ID = "10.7"> In this case the second condition should be aligned with the first one, not according to normal stuff.</Sentence>
<Sentence ID = "10.8"> And parameter list handling like:</Sentence>
<Sentence ID = "10.9"> int foo(</Sentence>
<Sentence ID = "10.10">          int bar,</Sentence>
<Sentence ID = "10.11">          char *baz,</Sentence>
<Sentence ID = "10.12">          struct sizzle *gee</Sentence>
<Sentence ID = "10.13">         )</Sentence>
<Sentence ID = "10.14"> {</Sentence>
<Sentence ID = "10.15">     ...</Sentence>
<Sentence ID = "10.16"> }</Sentence>
<Sentence ID = "10.17"> In this case the closing parenthesis should be aligned with the opening one.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-06-03 06:58:47'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "11.1"> Yes, your first example works as expected.</Sentence>
<Sentence ID = "11.2"> Your second example kinda works right now.  </Sentence>
<Sentence ID = "11.3"> Parameter lists are aligned just like you expect but it needs a reference character in the 'int foo (' line to judge what col to align to after that.  </Sentence>
<Sentence ID = "11.4"> Also, closing parenthesis are not aligned with the opening one.  </Sentence>
<Sentence ID = "11.5"> If this is really a problem for you, open up another wishlist item with appropriate examples.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-06-03 09:26:12'</Date>
<From>'Martin KÃ¶bele'</From>
<Text>
<Sentence ID = "12.1"> great, thanks a lot!!</Sentence>
<Sentence ID = "12.2"> there is one little bug though:</Sentence>
<Sentence ID = "12.3"> .	.	foo();</Sentence>
<Sentence ID = "12.4"> .	.	bar();</Sentence>
<Sentence ID = "12.5"> if your cursor is in the line between foo() and bar(), in the line where no tabs are made yet and you press now the shortcut for the new align, the cursor just won't move under foo().</Sentence>
<Sentence ID = "12.6"> but the rest of it works very nicely!</Sentence>
<Sentence ID = "12.7"> Thanks guys!</Sentence>
<Sentence ID = "12.8"> Maybe re-open this bug since I think the feature is incomplete, but I can open a new bugreport about this.</Sentence>
<Sentence ID = "12.9"> Thanks</Sentence>
<Sentence ID = "12.10"> Martin</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-06-03 17:28:26'</Date>
<From>'Jesse'</From>
<Text>
<Sentence ID = "13.1"> With regards to the foo-bar problem, this was intentional. </Sentence>
<Sentence ID = "13.2"> I didn't want to indent empty lines as that would leave quite a bit of useless leading spaces when selecting large regions and hitting Align -- it's also MUCH slower if I do not skip these lines when formatting an entire document. </Sentence>
<Sentence ID = "13.3"> I guess I could make it so that's only the case when you're aligning a _block_ of text though --</Sentence>
<Sentence ID = "13.4"> I'll see what I can do.  </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2009-01-11 14:46:56'</Date>
<From>'Kari Argillander'</From>
<Text>
<Sentence ID = "14.1"> I cannot get this feature work. </Sentence>
<Sentence ID = "14.2"> Is this working on kde4 beta2?</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "30">
<Title>"(326962) GIMP - Quick swapping between x and 1/x aspect ratio in crop and resize tool"</Title>
<Turn>
<Date>'2006-01-14 13:51:03'</Date>
<From>'bruno'</From>
<Text>
<Sentence ID = "1.1"> It would be usefull to add a \"Swap\" button to quickly change the aspect ratio between portrait and landscape. </Sentence>
<Sentence ID = "1.2"> This is needed when extracting a portrait from a landscape photo.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-05-21 19:31:19'</Date>
<From>'weskaggs'</From>
<Text>
<Sentence ID = "2.1"> Since there is no sign that this is going to happen for 2.4, I am bumping the target to Future.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-13 06:04:37'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "3.1"> *** Bug 355694 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-13 22:33:51'</Date>
<From>'weskaggs '</From>
<Text>
<Sentence ID = "4.1"> I'm going to reset this to 2.4 because I expect to implement this very soon.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 01:54:14'</Date>
<From>'Albert Cahalan'</From>
<Text>
<Sentence ID = "5.1"> An easier and much faster user interface: swap between portrait and landscape based on mouse movement.</Sentence>
<Sentence ID = "5.2"> You already have to move the mouse to make your selection. </Sentence>
<Sentence ID = "5.3"> You'll likely do something that is approximately the right ratio. </Sentence>
<Sentence ID = "5.4"> If that's closer to portrait, then portrait should get used, otherwise landscape should get used.</Sentence>
<Sentence ID = "5.5"> Another way to explain this:</Sentence>
<Sentence ID = "5.6"> When the user makes the selection, select landscape mode if the horizontal mouse movement is greater than the vertical mouse movement, otherwise select portrait mode.</Sentence>
<Sentence ID = "5.7"> That's one less confusing button occupying screen space.</Sentence>
<Sentence ID = "5.8"> That's one less button to press. </Sentence>
<Sentence ID = "5.9"> You can work faster, with less hand/finger/wrist pain.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 07:01:52'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "6.1"> Albert, you completely misunderstood this. </Sentence>
<Sentence ID = "6.2"> The point is being able to flip the aspect ratio after you have created your rectangle selection.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 13:18:50'</Date>
<From>'Simon Budig'</From>
<Text>
<Sentence ID = "7.1"> Really? I found Alberts comment spot on. </Sentence>
<Sentence ID = "7.2"> It basically would eliminate the need for this kind of button, since both x and 1/x would work equivalently in the GUI.</Sentence>
<Sentence ID = "7.3"> I don't see much point in being able to flip the aspect *after* the creation of the rectangle. </Sentence>
<Sentence ID = "7.4"> The placement of the resulting rectangle would need readjusting anyways (what is the fixed point of the rectangle while flipping?) and it sounds much more natural to me to be able to switch the orientation on-the-fly while creating the rectangle.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 13:44:00'</Date>
<From>'bruno'</From>
<Text>
<Sentence ID = "8.1"> I'm the reporter of the wish. </Sentence>
<Sentence ID = "8.2"> Sven is right, I meant that it would be usefull to have the swap option after the creation of the rectangle selection. </Sentence>
<Sentence ID = "8.3"> I do it \"by hand\" often in that case :</Sentence>
<Sentence ID = "8.4">  I've a landscape photo that contains an interesting flower for example. </Sentence>
<Sentence ID = "8.5"> I want to print a photo that have the same proportions as the original, but in a portrait format, more adapted to my flower.</Sentence>
<Sentence ID = "8.6">  1. I first \"take a shhot of the aspect ratio\" by selecting all the original landscape photo.</Sentence>
<Sentence ID = "8.7">  2. I freeze the aspect ratio (with the appropriate checkbox)</Sentence>
<Sentence ID = "8.8">  3. I shrink the rectangle to permit him to be rotated by 90Â°</Sentence>
<Sentence ID = "8.9">  4. I \"rotate\" him by taking my calculator, and calculating 1/[aspect ratio], and putting it by hand</Sentence>
<Sentence ID = "8.10">  5. I've now a perfect portrait zone wich I can adapt freely to my flower; and I'm happy :)</Sentence>
<Sentence ID = "8.11">  I don't know if adding a toolButton just to do it is a problem, but I really think I'm not the only one to do that sort of cropping on a photo.</Sentence>
<Sentence ID = "8.12"> Thanks for interest !</Sentence>
<Sentence ID = "8.13"> Bruno</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 13:57:16'</Date>
<From>'Jeffery Small'</From>
<Text>
<Sentence ID = "9.1"> I agree that Albert's idea makes sense.  </Sentence>
<Sentence ID = "9.2"> Have gimp assume a landscape or portrait orientation automatically depending on whether the rectangular area swept out by the user is wider or higher.  </Sentence>
<Sentence ID = "9.3"> This might only be problematic when the aspect ratio was nearly, but not exactly square, but even here the user could control the proper aspect by exaggerating the motion in the larger of the two directions.</Sentence>
<Sentence ID = "9.4"> If a swap button is maintained as in 2.3.12, then register the initial point used to sweep out the rectangular area and use that as the anchor rather than the upper-left corner as is now used.  </Sentence>
<Sentence ID = "9.5"> It is very likely that the first point selected by the user will be a desired point and this will not be the upper-left corner unless this happens to be where they started.</Sentence>
<Sentence ID = "9.6"> As I stated elsewhere, it would also be great if the aspect ratio was automatically set to the initial aspect of the image being loaded.  </Sentence>
<Sentence ID = "9.7"> You might provide a \"lock\" button to force the current aspect ratio to be retained upon subsequent loading of images for those times when someone wants to crop a series of pictures to the same proportions.  </Sentence>
<Sentence ID = "9.8"> Maybe the current Fix button could be a toggle that switched between \"Lock\" (lock the aspect ratio - current behavior) \"Set\" (automatically set the aspect ratio for each new image and then locks it) \"Auto\"(the Set behavior combined with the behavior suggested by Albert) or \"None\".</Sentence>
<Sentence ID = "9.9"> Having said this, I do appreciate having a toggle button at all.  Thanks.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-12-14 19:30:49'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "10.1"> Making this depend on the user's mouse action is not discoverable. </Sentence>
<Sentence ID = "10.2"> There wouldn't be any way for the user to find out how to swap the aspect ratio. </Sentence>
<Sentence ID = "10.3"> No way.</Sentence>
<Sentence ID = "10.4"> It might make sense to determine the initial aspect ratio this way. </Sentence>
<Sentence ID = "10.5"> But there still needs to be a button to swap it. </Sentence>
<Sentence ID = "10.6"> Comment #7 is exactly the usage scenario for this.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-02-10 12:25:58'</Date>
<From>'Sven Neumann'</From>
<Text>
<Sentence ID = "11.1"> This is now implemented in trunk and seems to work reasonably well. </Sentence>
<Sentence ID = "11.2"> Closing as FIXED.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "31">
<Title>"(154119) Eclipse - Implement missing text editor productivity features"</Title>
<Turn>
<Date>'2006-08-16 14:00:00'</Date>
<From>'John Arthorne'</From>
<Text>
<Sentence ID = "1.1"> community has voted for. \r\nExamples include double-click-drag to select multiple words, triple-click, extensible hyperlink support and spell checking. \r\nWe should also improve the current search/replace dialog. \r\n[Platform Text, Platform UI,SWT]</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-08-17 02:48:57'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "2.1"> &amp;gt;We should also improve the current search/replace dialog.</Sentence>
<Sentence ID = "2.2"> Those will be minimal improvements like being able to resize the dialog. </Sentence>
<Sentence ID = "2.3"> We won't completely redesign the dialog e.g. to provide Firefox-like search unless it is contributed by a patch.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-02 19:25:44'</Date>
<From>'Eugene Kuleshov'</From>
<Text>
<Sentence ID = "3.1"> Here is few things to look at:</Sentence>
<Sentence ID = "3.2"> -- Ctrl-Backspace don't work in all text editor widgets (try fields in search dialog or text fields in plugin.xml editor)</Sentence>
<Sentence ID = "3.3"> -- support for seaching multiline text and alow to replace into multiline text</Sentence>
<Sentence ID = "3.4"> -- improve usability of search dialog. </Sentence>
<Sentence ID = "3.5"> Namely, replace direction radio buttons with additional buttons like \"Find previous\", \"Replace previous\". </Sentence>
<Sentence ID = "3.6"> This would make getting back to accidentally skipped search match much easier.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-04 02:33:08'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "4.1"> &amp;gt;-- Ctrl-Backspace don't work in all text editor widgets (try fields in search dialog or text fields in plugin.xml editor)</Sentence>
<Sentence ID = "4.2"> Please file separate bug reports, e.g. we do not control the PDE editor - thanks.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-04 10:05:04'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "5.1"> &amp;gt;-- Ctrl-Backspace don't work in all text editor widgets (try fields in search</Sentence>
<Sentence ID = "5.2"> The problem here is that JDT UI started to map the text editor's editing commands onto the text, combo and other widgets using TextFieldNavigationHandler.</Sentence>
<Sentence ID = "5.3"> It would be possible push parts of TextFieldNavigationHandler down to Platform Text to provide this for dialogs around the editor but I think this is a more general issue since users then also expect the navigation commands to work in</Sentence>
<Sentence ID = "5.4"> wizards, Ctrl+H search pages etc. </Sentence>
<Sentence ID = "5.5"> But this can't be adopted by JFace because they don't depend on the text editor plug-ins.</Sentence>
<Sentence ID = "5.6"> To solve this, JFace will have to adopt/define editing commands that can be used along with widgets and would have to provide the navigation handler(s).</Sentence>
<Sentence ID = "5.7"> Can you file a bug report against Platform UI and describe the problematic.</Sentence>
<Sentence ID = "5.8"> Please add myself to the cc-list. Thanks.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-06 10:36:19'</Date>
<From>'Dejan Glozic'</From>
<Text>
<Sentence ID = "6.1"> (In reply to comment #0)</Sentence>
<Sentence ID = "6.2"> &amp;gt; extensible hyperlink support</Sentence>
<Sentence ID = "6.3"> I would prefer if extensive hyperlink support is much lower (ideally at the StyledText widget but if not, at the JFace level). </Sentence>
<Sentence ID = "6.4"> UI Forms would like to port from FormText to StyledText. </Sentence>
<Sentence ID = "6.5"> StyledText has added many key features in 3.2 time frame with hyperlink support being the last one we need in order to port.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-06 11:08:41'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "7.1"> Dejan, you're not allone ;-) </Sentence>
<Sentence ID = "7.2"> Feel free to add your comments to bug 156219. </Sentence>
<Sentence ID = "7.3"> The one in text land is bug 88293.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-27 10:45:42'</Date>
<From>'Andreas Goetz'</From>
<Text>
<Sentence ID = "8.1"> I'd like to throw in bug 145959 (forgive me if this doesn't apply to text editors):</Sentence>
<Sentence ID = "8.2"> On Windows, multi-line text boxes as used e.g. in the Run-&amp;gt;Arguments dialog should support Return key in two ways:</Sentence>
<Sentence ID = "8.3"> [Return]: add CR/LF to current text box</Sentence>
<Sentence ID = "8.4"> [Ctrl-Return]: send Return key to parent dialog (similiar to executing the default action).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-09-27 11:19:22'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "9.1">  &amp;gt;I'd like to throw in bug 145959 (forgive me if this doesn't apply to text editors):</Sentence>
<Sentence ID = "9.2"> Nothing to forgive just to ignore ;-) </Sentence>
<Sentence ID = "9.3"> This plan item covers Platform Text. </Sentence>
<Sentence ID = "9.4"> You have to place your feature with Platform SWT.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-03-27 05:04:46'</Date>
<From>'Dani Megert'</From>
<Text>
<Sentence ID = "10.1"> Completed as of I20070327-0800.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2007-04-13 23:38:40'</Date>
<From>'john Hutcheson'</From>
<Text>
<Sentence ID = "11.1"> Some were hoping to drag source code is 3.2, perhaps they'll get it 3.3. </Sentence>
<Sentence ID = "11.2"> And of course, it should be optional for those who would have a man run ahead of a horseless carriage with a red flag.</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "32">
<Title>"(238215) Firefox - Add a history window (like in Seamonkey)"</Title>
<Turn>
<Date>'2004-03-21 16:23:20'</Date>
<From>'Dan Mellem'</From>
<Text>
<Sentence ID = "1.1"> User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b)Gecko/20040316</Sentence>
<Sentence ID = "1.2"> Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6)Gecko/20040206 Firefox/0.8</Sentence>
<Sentence ID = "1.3"> There needs to be a way to open sidebar resources, such as the history and bookmarks, in their own window. </Sentence>
<Sentence ID = "1.4"> It's more convenient to have a single history window that doesn't take up screen real estate than having to open the history in whichever window I'm currently browsing. </Sentence>
<Sentence ID = "1.5"> I like the CTRL-B and CTRL-H features of Mozilla and would like that carried over. </Sentence>
<Sentence ID = "1.6"> I know bug 178199 discusses CTRL-B (WONTFIX but perhaps CTRL-SHIFT-B) in particular but I'm talking about depending on the side bar at all. </Sentence>
<Sentence ID = "1.7"> I really hate sidebars and would want to be able to disable them in place of these windows before I would migrate to Firefox.</Sentence>
<Sentence ID = "1.8"> Since the roadmap is now to focus on the standalone apps with \"a conservative,sustaining engineering fashion\" type of support for Mozilla/SeaMonkey, I think a \"SeaMonkey Parity\" of some form should be established.</Sentence>
<Sentence ID = "1.9"> Thanks.</Sentence>
<Sentence ID = "1.10"> Reproducible: Always</Sentence>
<Sentence ID = "1.11"> Steps to Reproduce:</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-03-22 17:02:52'</Date>
<From>'Jesse Ruderman'</From>
<Text>
<Sentence ID = "2.1"> A bookmark manager window already exists, and bug 178199 covers giving it a better keyboard shortcut than Alt,B,M.</Sentence>
<Sentence ID = "2.2"> I don't see a bug for adding a history window.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-03-26 05:31:57'</Date>
<From>'miahz'</From>
<Text>
<Sentence ID = "3.1"> how about something like about:history?</Sentence>
<Sentence ID = "3.2"> similar to about:config - just a full page tree with a search/filter field at the top.  </Sentence>
<Sentence ID = "3.3"> you wouldn't really need a menu or toolbar buttons like with the bookmarks manager.  </Sentence>
<Sentence ID = "3.4"> but like the bm and unlike the sidebar, it would have all the sortable columns: name, url, last visited, first visited, number of visits, etc.</Sentence>
<Sentence ID = "3.5"> it would be the \"power-user\" supplement to the simple history sidebar.  </Sentence>
<Sentence ID = "3.6"> sure, the sidebar needs a few things fixed like searching urls, but other than that, i think it's fine for most uses - exactly what sidebars are for - a quick way to access something without leaving/obscuring the current page.  </Sentence>
<Sentence ID = "3.7"> and an about:history page would nicely fill in the gap left on the advanced end.  </Sentence>
<Sentence ID = "3.8"> a whole new history window is probably overkill, and a page could just as easily be opened in its own window or in a tab.  </Sentence>
<Sentence ID = "3.9"> while i'm brainstorming, you could probably even add a search shortcut ability so you could type something like</Sentence>
<Sentence ID = "3.10"> about:history?extensions to open the history page and filter pages with \"extensions.\"</Sentence>
<Sentence ID = "3.11"> compare:</Sentence>
<Sentence ID = "3.12"> chrome://browser/content/history/history-panel.xul</Sentence>
<Sentence ID = "3.13"> chrome://browser/content/bookmarks/bookmarksPanel.xul</Sentence>
<Sentence ID = "3.14"> chrome://browser/content/bookmarks/bookmarksManager.xul</Sentence>
<Sentence ID = "3.15"> about:config</Sentence>
<Sentence ID = "3.16"> reporter,</Sentence>
<Sentence ID = "3.17"> not sure if you're asking for a whole new history window, or just the ability to open the sidebar history in its own window.  </Sentence>
<Sentence ID = "3.18"> if the latter is the case, then just open the above chrome url in a new window.</Sentence>
<Sentence ID = "3.19"> the component and other fields probably need to be updated.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-03-26 11:25:28'</Date>
<From>'Dan Mellem'</From>
<Text>
<Sentence ID = "4.1"> I'm really looking for two things:</Sentence>
<Sentence ID = "4.2"> 1. A separate window so I can keep going back to the same window and open multiple windows from this window.</Sentence>
<Sentence ID = "4.3"> chrome://browser/content/history/history-panel.xul would meet this need.</Sentence>
<Sentence ID = "4.4"> 2. Being able to see and sort the history. </Sentence>
<Sentence ID = "4.5"> Seamonkey offers tabs for Title, Location, Last Visited, First Visited, Hostname, Referrer, and Visit Count. </Sentence>
<Sentence ID = "4.6"> Not all of this is needed but at least the first four are helpful.</Sentence>
<Sentence ID = "4.7"> Plus, I'd like to be able to open this easily, such as with /-\\H.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2004-11-27 13:46:29'</Date>
<From>'Jeroen'</From>
<Text>
<Sentence ID = "5.1"> Please add the Mozilla history window in Firefox! </Sentence>
<Sentence ID = "5.2"> I think this is just one of the things that's missing in inferior browsers like Microsoft Internet Explorer.</Sentence>
<Sentence ID = "5.3"> The Mozilla history window is just perfect!</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2005-09-17 22:40:13'</Date>
<From>'Wayne Mery'</From>
<Text>
<Sentence ID = "6.1"> (In reply to comment #3)</Sentence>
<Sentence ID = "6.2"> &amp;gt; I'm really looking for two things:</Sentence>
<Sentence ID = "6.3"> &amp;gt; </Sentence>
<Sentence ID = "6.4"> &amp;gt; 1. A separate window so I can keep going back to the same window and open multiple windows from this window.</Sentence>
<Sentence ID = "6.5"> &amp;gt; chrome://browser/content/history/history-panel.xul would meet this need.</Sentence>
<Sentence ID = "6.6"> &amp;gt; </Sentence>
<Sentence ID = "6.7"> &amp;gt; 2. Being able to see and sort the history. Seamonkey offers tabs for Title, Location, Last Visited, First Visited, Hostname, Referrer, and Visit Count. </Sentence>
<Sentence ID = "6.8"> &amp;gt; Not all of this is needed but at least the first four are helpful.</Sentence>
<Sentence ID = "6.9"> Firefox sure doesn't seem like a total product with a decent history.  </Sentence>
<Sentence ID = "6.10"> EHM, Enhanced History Manager, is an extension that does it nicely.</Sentence>
<Sentence ID = "6.11"> http://forums.mozillazine.org/viewtopic.php?p=1749502#1749502</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2006-02-27 13:45:11'</Date>
<From>'seren'</From>
<Text>
<Sentence ID = "7.1"> I agree that the firefox history is limited at best. </Sentence>
<Sentence ID = "7.2"> I'm amazed that there is no way of knowing what the url or date of a history entry is. </Sentence>
<Sentence ID = "7.3"> Mozilla history was excellent since you could re-trace your browsing using the timestamp and find collections of pages you'd visited.</Sentence>
<Sentence ID = "7.4">  History (in life and browsing) is more useful when there is a context.</Sentence>
<Sentence ID = "7.5"> Shouldn't there be an option to see when and what order a page was visited?</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "33">
<Title>"(173341) KDE - song deleted when moving track into itself "</Title>
<Turn>
<Date>'2008-10-23 09:05:25'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "1.1"> Version:           svn (using Devel)</Sentence>
<Sentence ID = "1.2"> Compiler:          gcc 4.3.2 gentoo</Sentence>
<Sentence ID = "1.3"> OS:                Linux</Sentence>
<Sentence ID = "1.4"> Installed from:    Compiled sources</Sentence>
<Sentence ID = "1.5"> If you navigate, using the file browser, to a song in the collection and select \"move to collection\", and ensure that the new file name is the same as the old file name, the song is renamed to itself (not renamed), then deleted.</Sentence>
<Sentence ID = "1.6">  The fix for this it to make sure that songs moved into the collection are not removed during the \"move to collection\" operation. </Sentence>
<Sentence ID = "1.7"> A patch is below.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 09:08:55'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "2.1"> Created an attachment (id=28078) [details]</Sentence>
<Sentence ID = "2.2"> bug fix</Sentence>
<Sentence ID = "2.3"> Patch by Jason A. Donenfeld &amp;lt;Jason@zx2c4.com&amp;gt;</Sentence>
<Sentence ID = "2.4"> This patch fixes the bug by checking if the song is in a collection before removing it after the move operation. </Sentence>
<Sentence ID = "2.5"> A potential problem is that it may fail to remove it from a collection when moving a track from one collection to another.  </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 10:29:48'</Date>
<From>'Seb Ruiz'</From>
<Text>
<Sentence ID = "3.1"> Just for the record, this patch is incorrect and shouldn't be applied.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 10:58:33'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "4.1"> Created an attachment (id=28083) [details]</Sentence>
<Sentence ID = "4.2"> semi correct patch</Sentence>
<Sentence ID = "4.3"> Patch by Jason A. Donenfeld &amp;lt;Jason@zx2c4.com&amp;gt;</Sentence>
<Sentence ID = "4.4"> This patch fixes the problems of the above patch and gets to the heart of the issue: \"KIO::file_copy\"ing with the src and dest the same will erase the file.</Sentence>
<Sentence ID = "4.5"> This patch checks to see if the KURLs are identical before attempting to copy.</Sentence>
<Sentence ID = "4.6"> This is the same logic as used elsewhere in the modified file, so it was chosen to keep convention.</Sentence>
<Sentence ID = "4.7"> However, it still suffers from a problem: if the KURLs point at the same location but have different string paths, for example /home/user/music/artist/song.mp3 and /home/user/music/artist//song.mp3, the test will fail. Therefore, this patch needs only a fix for this comparison problem, and then it should be ready to be applied.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 11:50:22'</Date>
<From>'Mark Kretschmann'</From>
<Text>
<Sentence ID = "5.1"> Jason, you can use KUrl::cleanPath() to fix this.</Sentence>
<Sentence ID = "5.2">  See here:</Sentence>
<Sentence ID = "5.3"> http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKUrl.html#05eaea3296e3778f04014bd943ac894a</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 12:15:29'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "6.1"> Created an attachment (id=28087) [details]</Sentence>
<Sentence ID = "6.2"> fixed final flaw</Sentence>
<Sentence ID = "6.3"> Mark - thanks for the suggestion. </Sentence>
<Sentence ID = "6.4"> This patch solves the above patch's problems.</Sentence>
<Sentence ID = "6.5"> Patch by Jason A. Donenfeld &amp;lt;Jason@zx2c4.com&amp;gt;</Sentence>
<Sentence ID = "6.6"> \"KIO::file_copy\"ing with the src and dest the same will erase the file, so this patch checks to see if the KUrls are identical, after cleaning the urls, before attempting to copy. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 12:17:58'</Date>
<From>'Seb Ruiz'</From>
<Text>
<Sentence ID = "7.1"> Since Max is the author who wrote the Collection code (including copying/moving), I'm going to wait for his approval to this patch before committing, lest we make an oversight.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 12:19:55'</Date>
<From>'A. Donenfeld'</From>
<Text>
<Sentence ID = "8.1"> Sebr - sounds good. </Sentence>
<Sentence ID = "8.2"> I can commit it myself, hopefully, because I should have svn commit access soon enough. </Sentence>
<Sentence ID = "8.3"> (sysadmins are usually pretty fast, no?)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 13:20:07'</Date>
<From>'Maximilian Kossick'</From>
<Text>
<Sentence ID = "9.1"> I can't test this at the moment, but I've got a couple of comments after reading the bug report and the patch:</Sentence>
<Sentence ID = "9.2"> I didn't look up the api documentation, but using KIO::file_copy with the same source and destination url sounds like a bug in kdelibs. </Sentence>
<Sentence ID = "9.3"> And I don't think that that is actually happening.</Sentence>
<Sentence ID = "9.4"> Because you are moving from the filebrowser, SqlCollectionLocation doesn't notice that it's dealing with a file already in the collection, and therefore doesn't use the special code that stops it from removing files from the source collection.</Sentence>
<Sentence ID = "9.5"> I am a bit surprised that the patch even works (does it?). </Sentence>
<Sentence ID = "9.6"> CollectionLocation should be removing the source files (because you are *moving* files) after the copy operation, which is probably when your files actually are deleted.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 13:34:41'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "10.1"> Max,</Sentence>
<Sentence ID = "10.2"> This was my initial thought too... </Sentence>
<Sentence ID = "10.3"> that really the problem was that it was removing the source after moving.</Sentence>
<Sentence ID = "10.4"> But then I fully mapped the flow, and I saw that that section never even gets called if sourceLocation = 0 (if it's coming</Sentence>
<Sentence ID = "10.5"> from a file and not another collection). </Sentence>
<Sentence ID = "10.6"> The logic for that part works fine, with m_tracksRemovedByDestination being correctly populated and processed. </Sentence>
<Sentence ID = "10.7"> The thing is that removal code is never called when sourceLocation = 0. </Sentence>
<Sentence ID = "10.8"> Generally copying or moving a file into itself will delete the file; I've seen this behavior in other languages and commands, and kio doesn't appear to be an exception.</Sentence>
<Sentence ID = "10.9"> The patch does in fact work.</Sentence>
<Sentence ID = "10.10"> Something still may be suspicious, though.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 14:02:40'</Date>
<From>'Maximilian Kossick'</From>
<Text>
<Sentence ID = "11.1"> Jason, are you sure that FileCollectionLocation::removeTrack does not get called?</Sentence>
<Sentence ID = "11.2"> I just checked the code which starts the move operation in the filebrowser, and it creates a FileColelctionLocation.</Sentence>
<Sentence ID = "11.3">  </Sentence>
<Sentence ID = "11.4"> Therefore sourceLocation will always be 0, the file will be copied (and deleting a file whehn copying or moving it onto itself *is* a bug), and *CollectionLocation* will call removeTrack on the source location as part of its workflow.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 14:33:30'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "12.1"> Aaaaa hah! With job never being assigned, slotJobFinished is never called, and if slotJobFinished is never called,  slotCopyOperationFinished is never called, and if slotCopyOperationFinished is never called, slotFinishCopy is never</Sentence>
<Sentence ID = "12.2"> called, and if slotFinishCopy is never called, removeSourceTracks is never called, and if removeSourceTracks is never called, remove is never called, and if remove is never called, QFile::remove is never called.</Sentence>
<Sentence ID = "12.3"> This shouldn't happen though. </Sentence>
<Sentence ID = "12.4"> While this works, you're right: there is something screwy going on. </Sentence>
<Sentence ID = "12.5"> Why doesn't slotCopyOperationFinished get called independently of slotJobFinished? Or is it supposed to work this way?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 14:39:44'</Date>
<From>'Maximilian Kossick'</From>
<Text>
<Sentence ID = "13.1"> no, slotCopyOperationFinished should be called if we don't actually have to copy any tracks.</Sentence>
<Sentence ID = "13.2">  That's a bug.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 14:54:30'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "14.1"> Ok. I see how it all works now. </Sentence>
<Sentence ID = "14.2"> New patch coming soon.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-23 15:29:10'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "15.1"> Created an attachment (id=28094) [details]</Sentence>
<Sentence ID = "15.2"> adds movedByDestination to CollectionLocation</Sentence>
<Sentence ID = "15.3"> ignoredDestinations was removed, as this was no longer pertinent, since it was only used in the flow from a job event.</Sentence>
<Sentence ID = "15.4"> movedByDestination was added to collectionLocation, since this is something all collectionlocations will potentially need to account for. </Sentence>
<Sentence ID = "15.5"> slotCopyOperationFinished is now called if no job is created. </Sentence>
<Sentence ID = "15.6"> Since m_removeSources is now protected and part of CollectionLocation, collections that cannot move but only copy will just set m_removeSources to false in their constructor. </Sentence>
<Sentence ID = "15.7"> If you like this, I'm able to commit myself now. </Sentence>
<Sentence ID = "15.8"> But I'm guessing you'll have suggestions.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-24 01:38:35'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "16.1"> I should probably make the map private and just add another protected accessor function. </Sentence>
<Sentence ID = "16.2"> If we go this route, I should also make the protected accessor functions virtual and add proper comment documentation. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-10-28 09:58:26'</Date>
<From>'Jason A. Donenfeld'</From>
<Text>
<Sentence ID = "17.1"> SVN commit 876841 by jdonenfeld:</Sentence>
<Sentence ID = "17.2"> This prevents deleting a song when moving it or organizing it into its original path name by making sure the source and </Sentence>
<Sentence ID = "17.3"> destination are different before [re]moving. </Sentence>
<Sentence ID = "17.4"> This functionality is also potentially extended to all CollectionLocations, as now the base class has public functions to keep track of such things. </Sentence>
<Sentence ID = "17.5"> This also cleans up the logic and flow quite a bit.</Sentence>
<Sentence ID = "17.6"> BUG: 173341</Sentence>
<Sentence ID = "17.7">  M  +29 -2     CollectionLocation.cpp  </Sentence>
<Sentence ID = "17.8">  M  +18 -3     CollectionLocation.h  </Sentence>
<Sentence ID = "17.9">  M  +27 -44    sqlcollection/SqlCollectionLocation.cpp  </Sentence>
<Sentence ID = "17.10">  M  +1 -6      sqlcollection/SqlCollectionLocation.h  </Sentence>
<Sentence ID = "17.11">  M  +5 -5      support/FileCollectionLocation.cpp  </Sentence>
<Sentence ID = "17.12">  M  +0 -5      support/FileCollectionLocation.h  </Sentence>
<Sentence ID = "17.13"> WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=876841</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "34">
<Title>"(155920) KDE - ctrl+c doesn\'t breaks foreground job"</Title>
<Turn>
<Date>'2008-01-16 16:31:06'</Date>
<From>'Pavel Volkovitskiy'</From>
<Text>
<Sentence ID = "1.1"> Version:            (using Devel)</Sentence>
<Sentence ID = "1.2"> Installed from:    Compiled sources</Sentence>
<Sentence ID = "1.3"> OS:                Linux</Sentence>
<Sentence ID = "1.4"> from some time ago ctrl+c stops work</Sentence>
<Sentence ID = "1.5"> i have 2.1 konsole (kde 4.0.80+r762060 from trunk)</Sentence>
<Sentence ID = "1.6"> reproduce:</Sentence>
<Sentence ID = "1.7"> sleep 10 and press ctrl+c</Sentence>
<Sentence ID = "1.8"> so now i use ctrl+z; kill %1; fg</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-17 19:55:37'</Date>
<From>'Urs Wolfer'</From>
<Text>
<Sentence ID = "2.1"> Same problem here.</Sentence>
<Sentence ID = "2.2"> Another thing which is IMHO releated: the konsole \"window cursor\" does not get anymore the focus (the cursor gets not filled white).</Sentence>
<Sentence ID = "2.3"> This issues has appeared some days ago..</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-17 20:55:06'</Date>
<From>'Hiáº¿u HoÃ ng'</From>
<Text>
<Sentence ID = "3.1"> Some info: when I use completion, C-c works (i.e. type \"pTABTAB\", while bash is tallying the possible completions, C-c stops the process and returns the prompt).</Sentence>
<Sentence ID = "3.2"> This bug is possibly not in konsole, because yesterday I can't use C-[S-]v to paste in any app (including konsole), or C-l to clear screen (in konsole, gajim and pidgin).</Sentence>
<Sentence ID = "3.3"> Grepping ~/.xssession-errors only yields one \"error\" in the search krunner runner.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-18 04:49:53'</Date>
<From>'Thomas Georgiou'</From>
<Text>
<Sentence ID = "4.1"> I get this with new konsole too, it works with some progs like strace, but not with others like ruby (which works fine in a vt).</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-20 21:33:02'</Date>
<From>'Urs Wolfer'</From>
<Text>
<Sentence ID = "5.1"> This issue makes working with Konole really hard.. </Sentence>
<Sentence ID = "5.2"> you always need to kill jobs from another Konsole... </Sentence>
<Sentence ID = "5.3"> There are a lot of people asking about this issue on IRC.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-21 02:49:51'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "6.1"> I cannot reproduce here.</Sentence>
<Sentence ID = "6.2"> &amp;gt; I get this with new konsole too, it works with some progs like strace, but not with others like ruby (which works fine in a vt). </Sentence>
<Sentence ID = "6.3"> That is bizarre.  </Sentence>
<Sentence ID = "6.4"> I cannot think why the behavior might depend on what is running on the terminal.  </Sentence>
<Sentence ID = "6.5"> &amp;gt;  There are a lot of people asking about this issue on IRC. </Sentence>
<Sentence ID = "6.6"> Are they running Konsole from the KDE 4.0 branch or trunk?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-21 02:51:48'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "7.1"> &amp;gt; Are they running Konsole from the KDE 4.0 branch or trunk? </Sentence>
<Sentence ID = "7.2"> You could winding kdebase/apps/konsole back a few revisions to see if the problem disappears.  </Sentence>
<Sentence ID = "7.3"> If you get as far as the KDE 4.0.0 tagging then it is likely somewhere else.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-21 14:06:51'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "8.1"> Running trunk. Noticing this for some days.</Sentence>
<Sentence ID = "8.2"> Working around that by doing \"Ctrl-Z and kill %1\"...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-21 20:46:24'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "9.1"> *** Bug 156320 has been marked as a duplicate of this bug. ***</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-22 12:49:24'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "10.1"> &amp;gt; Running trunk. Noticing this for some days.</Sentence>
<Sentence ID = "10.2"> As I cannot reproduce, I need to know which revision introduced the bug.  </Sentence>
<Sentence ID = "10.3"> You can use svn up -r &amp;lt;revision&amp;gt; to change kdebase/apps/konsole/src to an earlier revision.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-22 19:58:30'</Date>
<From>'Paolo Capriotti'</From>
<Text>
<Sentence ID = "11.1"> I can confirm this problem. </Sentence>
<Sentence ID = "11.2"> The first revision where it happens is 760614:</Sentence>
<Sentence ID = "11.3"> http://websvn.kde.org/?view=rev&amp;revision=760614</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-23 12:37:17'</Date>
<From>'Christian Muehlhaeuser'</From>
<Text>
<Sentence ID = "12.1"> i'm running trunk. </Sentence>
<Sentence ID = "12.2"> i can ctrl+c svn for example or a compile job. </Sentence>
<Sentence ID = "12.3"> but i can't ctrl+c dselect (or btdownloadcurses or ...)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-23 17:20:11'</Date>
<From>'Pavel Volkovitskiy'</From>
<Text>
<Sentence ID = "13.1"> after i switch to konsole window, cursor doesn't filled and ctrl+c doesn't works, but if i type something then this passes to konsole _and_ cursor became fillled after that i'm able to use ctrl+c</Sentence>
<Sentence ID = "13.2"> ie, switch to konsole</Sentence>
<Sentence ID = "13.3"> press &amp;lt;space&amp;gt; (to get cursor filled)</Sentence>
<Sentence ID = "13.4"> press ctrl+c (will work now)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-23 18:03:05'</Date>
<From>'Pavel Volkovitskiy'</From>
<Text>
<Sentence ID = "14.1"> this doesn't always work, cursor became filled, but ctrl+c doesn't work</Sentence>
<Sentence ID = "14.2"> ctrl+c works in bash or read prompt (even with non-filled cursor)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 00:12:55'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "15.1"> Robert, I can confirm what Paolo said: it happens first in 760614 revision (porting to KProcess).</Sentence>
<Sentence ID = "15.2"> I also noticed this warning in Session.cpp's Session::sendSignal() function:</Sentence>
<Sentence ID = "15.3"> #warning \"TODO: Send the right signal here, QProcess::kill() always sends SIGKILL\"</Sentence>
<Sentence ID = "15.4"> I blindly tried to replace _shellProcess-&amp;gt;kill() with _shellProcess-&amp;gt;terminate(), but that did not help, so I gave up :)</Sentence>
<Sentence ID = "15.5"> Maybe this even not that piece of code that causes the problem (although seems quite related).</Sentence>
<Sentence ID = "15.6"> Maybe you'll have some further ideas.</Sentence>
<Sentence ID = "15.7"> And I wasn't able to reproduce this bug on my machine at work, although both home and work machines run Debian/testing (but have different hardware).</Sentence>
<Sentence ID = "15.8"> I'm puzzled what can cause this :)</Sentence>
<Sentence ID = "15.9"> But while it's reproducable here, at home, I can test your ideas if any.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 00:25:10'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "16.1"> &amp;gt; I also noticed this warning in Session.cpp's Session::sendSignal() function: </Sentence>
<Sentence ID = "16.2"> That is only called at the end of the terminal session to kill the main shell process.  </Sentence>
<Sentence ID = "16.3"> Otherwise Konsole doesn't touch any processes directly - it just sends the key presses you enter to the terminal.</Sentence>
<Sentence ID = "16.4"> &amp;gt; although both home and work machines run Debian/testing</Sentence>
<Sentence ID = "16.5"> In other words, they have the same versions of all common software?</Sentence>
<Sentence ID = "16.6"> &amp;gt; (but have different hardware)</Sentence>
<Sentence ID = "16.7"> Do they use the same type of CPU?  </Sentence>
<Sentence ID = "16.8"> I don't suppose it could be a 32bit / 64bit difference?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 00:27:58'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "17.1"> Ah, no, seems unrelated :)</Sentence>
<Sentence ID = "17.2"> How about this:</Sentence>
<Sentence ID = "17.3"> void Pty::lockPty(bool lock)</Sentence>
<Sentence ID = "17.4"> {</Sentence>
<Sentence ID = "17.5"> #warning \"TODO: Support for locking the Pty\"</Sentence>
<Sentence ID = "17.6">   //if (lock)</Sentence>
<Sentence ID = "17.7">     //suspend();</Sentence>
<Sentence ID = "17.8">   //else</Sentence>
<Sentence ID = "17.9">     //resume();</Sentence>
<Sentence ID = "17.10"> }</Sentence>
<Sentence ID = "17.11"> Not sure if this is it too...</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 00:30:22'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "18.1"> &amp;gt; In other words, they have the same versions of all common software?</Sentence>
<Sentence ID = "18.2"> Well, currently not, because I forgot that I updated home machine to debian/sid, but I recall that I was seeing this bug before I upgraded.</Sentence>
<Sentence ID = "18.3"> Mmmm... not 100% sure though. 90% ;)</Sentence>
<Sentence ID = "18.4"> &amp;gt; Do they use the same type of CPU?  </Sentence>
<Sentence ID = "18.5"> &amp;gt; I don't suppose it could be a 32bit / 64bit difference? </Sentence>
<Sentence ID = "18.6"> Yep. </Sentence>
<Sentence ID = "18.7"> Both use intel core duo</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 01:00:58'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "19.1"> &amp;gt; Not sure if this is it too... </Sentence>
<Sentence ID = "19.2"> No, that is called when Ctrl+S or Ctrl+Q is pressed.</Sentence>
<Sentence ID = "19.3"> Can you try changing the interrupt key sequence to something else and see if it makes any difference.</Sentence>
<Sentence ID = "19.4"> For example, change the interrupt key to Ctrl+Y</Sentence>
<Sentence ID = "19.5"> stty intr /-\\Y</Sentence>
<Sentence ID = "19.6"> Then try strace, sleep, make etc. but use Ctrl+Y instead of Ctrl+C to kill them.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 01:02:40'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "20.1"> Chatting with ossi bringed up another very interesting usecase:</Sentence>
<Sentence ID = "20.2"> Fact: ctrl-c doesn't work in konsole</Sentence>
<Sentence ID = "20.3"> Next step: launch xterm and launch  strace -ttt -o konsole.trace konsole --nofork</Sentence>
<Sentence ID = "20.4"> Now in that started konsole app, 'make' breaks just ok!</Sentence>
<Sentence ID = "20.5"> Wonders :)</Sentence>
<Sentence ID = "20.6"> strace fixes things :)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 01:06:05'</Date>
<From>'Dmitry Suzdalev'</From>
<Text>
<Sentence ID = "21.1"> After changing /-\\C to be /-\\Y situation is the same for /-\\Y as it was for /-\\C:</Sentence>
<Sentence ID = "21.2"> e.g. /-\\Y breaks 'strace', but not 'make'</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 01:20:17'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "22.1"> &amp;gt; strace fixes things :) </Sentence>
<Sentence ID = "22.2"> You're doing two things there though, running Konsole with strace and also with the --nofork argument.  </Sentence>
<Sentence ID = "22.3"> To be sure which was making a difference, you'd need to:</Sentence>
<Sentence ID = "22.4"> 1.  Run \"konsole --nofork\" (without strace) and see if the problem is still there.</Sentence>
<Sentence ID = "22.5"> 2.  Start Konsole normally (with no arguments), then attach to it with strace (using strace -ttt -p &amp;lt;pid of konsole&amp;gt;) and see if the problem is still there.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-01-26 02:07:56'</Date>
<From>'Paolo Capriotti'</From>
<Text>
<Sentence ID = "23.1"> The problem disappears for me with both 1 and 2, while changing the interrupt sequence has no effect just like Dmitry reported.</Sentence>
<Sentence ID = "23.2"> Any idea where to look in the code, where to set breakpoints, etc...?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-02-06 13:34:24'</Date>
<From>'Robert Knight'</From>
<Text>
<Sentence ID = "24.1"> Fixed by SVN commit #771570.</Sentence>
<Sentence ID = "24.2"> \"Fix Ctrl+C not killing applications on some users' systems.  </Sentence>
<Sentence ID = "24.3"> Reset all signal handlers to the default (SIG_DFL) in the child process after forking\"</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "35">
<Title>"(164545) KDE - Add activity focuses view on the new activity"</Title>
<Turn>
<Date>'2008-06-20 19:01:17'</Date>
<From>'Yuriy Kozlov'</From>
<Text>
<Sentence ID = "1.1"> Version:            (using Devel)</Sentence>
<Sentence ID = "1.2"> Installed from:    Compiled sources</Sentence>
<Sentence ID = "1.3"> OS:                Linux</Sentence>
<Sentence ID = "1.4"> Using nightly builds from project Neon,  kdebase version 20080617+svn821478-0neon1</Sentence>
<Sentence ID = "1.5"> There seem to be some problems with the zoom out view.  </Sentence>
<Sentence ID = "1.6"> It doesn't layout the activities properly.</Sentence>
<Sentence ID = "1.7"> Steps to reproduce:</Sentence>
<Sentence ID = "1.8"> 1. Zoom out.</Sentence>
<Sentence ID = "1.9"> 2. Add Activity.</Sentence>
<Sentence ID = "1.10"> Now only the newly added activity is shown, in the top left corner of the screen.</Sentence>
<Sentence ID = "1.11"> 3. Zoom in.</Sentence>
<Sentence ID = "1.12"> 4. Zoom out.</Sentence>
<Sentence ID = "1.13"> Now both the activities are shown, but not in the order they were added, and there is some whitespace around them.</Sentence>
<Sentence ID = "1.14"> If another activity is added, this happens again, and have to zoom in and out twice to get all 3 activities to show.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-29 14:40:36'</Date>
<From>'Diederik van der Boor'</From>
<Text>
<Sentence ID = "2.1"> Same here at openSUSE, KDE 4.1 beta 2.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-29 14:47:57'</Date>
<From>'Diederik van der Boor'</From>
<Text>
<Sentence ID = "3.1"> I'm using NVidia binary drivers btw, have an NVidia Geforce 6600 GT.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-29 15:14:59'</Date>
<From>'Diederik van der Boor'</From>
<Text>
<Sentence ID = "4.1"> Just found out that the \"offset\" of the activity overview changes when you double click on the second activity. </Sentence>
<Sentence ID = "4.2"> The same probably happens too when adding an activity.</Sentence>
<Sentence ID = "4.3"> At this point, it's not possible anymore to use drag&amp;drop to move to the first activity. </Sentence>
<Sentence ID = "4.4"> Only zooming out, selecting the first, and zooming in fixes it.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-30 20:50:50'</Date>
<From>'Chani'</From>
<Text>
<Sentence ID = "5.1"> yeah, that regression crept in a while ago, and it's been bugging me a lot.</Sentence>
<Sentence ID = "5.2"> we've actually got multiple bugs in this report, it'd be nice to separate them out (but I have to leave in a minute).</Sentence>
<Sentence ID = "5.3"> 1) adding/switching activity makes the view jump suddenly to another place (it's trying to make sure the activity is visible, and being stupid about it)</Sentence>
<Sentence ID = "5.4"> 2) dragging the view around to see other activities no longer works (regression! it worked before woc)</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-06-30 21:22:58'</Date>
<From>'Yuriy Kozlov'</From>
<Text>
<Sentence ID = "6.1"> Actually, dragging around the view does work here *except right after adding an activity*.  </Sentence>
<Sentence ID = "6.2"> I just didn't know about that functionality when I filed this report.</Sentence>
<Sentence ID = "6.3"> Adding an activity makes the view jump to another place, and also the placement of the new activity seems arbitrary.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-06 21:35:15'</Date>
<From>'Thomas Georgiou'</From>
<Text>
<Sentence ID = "7.1"> Bug = Add activity focuses view on the new activity until zoom level changes</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-09 05:42:21'</Date>
<From>'Chani'</From>
<Text>
<Sentence ID = "8.1"> well then, let's make the title a bit clearer</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-24 04:11:47'</Date>
<From>'Luciano Leveroni'</From>
<Text>
<Sentence ID = "9.1"> I think add activity option (and zoom out) should be removed in the 4.1 final.</Sentence>
<Sentence ID = "9.2"> This bug is quite big, plus there's no clear way to delete an activity. </Sentence>
<Sentence ID = "9.3"> Also,performance when zoomed out is slow as hell.</Sentence>
<Sentence ID = "9.4"> I didn't report this issues because some of them are already reported and I thought others are pretty obvious.</Sentence>
<Sentence ID = "9.5"> Don't get me wrong, it's a great idea, but it's current status makes it confusing, useless and buggy :S</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-25 19:11:00'</Date>
<From>'Chani'</From>
<Text>
<Sentence ID = "10.1"> performace is fine for me. </Sentence>
<Sentence ID = "10.2"> are you using nvidia?</Sentence>
<Sentence ID = "10.3"> there are already people making use of multiple activities, we're not going to take that away from them.</Sentence>
<Sentence ID = "10.4"> it'd be really really nice if this bug could be fixed somehow, though.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-25 19:13:41'</Date>
<From>'Aaron J. Seigo'</From>
<Text>
<Sentence ID = "11.1"> &amp;gt; This bug is quite big</Sentence>
<Sentence ID = "11.2"> so huge it crashes your machine, loses dat, etc, right? </Sentence>
<Sentence ID = "11.3"> this is a molehill, stop making it into a mountain.</Sentence>
<Sentence ID = "11.4"> &amp;gt; but it's current status makes it confusing, useless and buggy</Sentence>
<Sentence ID = "11.5"> so don't use it. </Sentence>
<Sentence ID = "11.6"> we have gotten many reports of people who DO like it and are using it for day to day work. </Sentence>
<Sentence ID = "11.7"> i suppose your desire to see this set of problems hidden overrides their productivity?</Sentence>
<Sentence ID = "11.8"> and if we'd taken this approach in 4.0 we'd be even further behind.</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-07-28 00:39:33'</Date>
<From>'Chani'</From>
<Text>
<Sentence ID = "12.1"> SVN commit 838477 by chani:</Sentence>
<Sentence ID = "12.2"> when a new activity is added, don't move more than necessary to show it this seems to fix dragging the view around too :)</Sentence>
<Sentence ID = "12.3"> BUG: 164545</Sentence>
<Sentence ID = "12.4"> please backport.</Sentence>
<Sentence ID = "12.5">  M  +7 -1      view.cpp  </Sentence>
<Sentence ID = "12.6"> WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=838477</Sentence>
</Text>
</Turn>

</BugReport>
<BugReport ID = "36">
<Title>"(174533) KDE - moving files opens too many file dialogs "</Title>
<Turn>
<Date>'2008-11-07 13:43:53'</Date>
<From>'Evert Vorster'</From>
<Text>
<Sentence ID = "1.1"> Version:            (using KDE 4.1.2)</Sentence>
<Sentence ID = "1.2"> Installed from:    Compiled From Sources</Sentence>
<Sentence ID = "1.3"> Amarok version 1.94</Sentence>
<Sentence ID = "1.4"> When moving a large amount of files to my collection, amarok2 opens a file dialog for every single file that it moves. </Sentence>
<Sentence ID = "1.5"> To reproduce:</Sentence>
<Sentence ID = "1.6"> Make a directory where you would like your music collection to be stored. </Sentence>
<Sentence ID = "1.7"> Go in to amarok2 and set it up so that the new collection area is included. </Sentence>
<Sentence ID = "1.8"> Then, right-click on local collection, select organise and select the new destination for the files.</Sentence>
<Sentence ID = "1.9"> Even my Core 2 Duo with 2 GB of RAM could not handle 16,000 file dialogs, and crashed my whole system hard, requiring a reboot.</Sentence>
<Sentence ID = "1.10"> Can we please either:</Sentence>
<Sentence ID = "1.11"> 1) move the files sequentially, or</Sentence>
<Sentence ID = "1.12"> 2) not display a file dialog?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 08:51:36'</Date>
<From>'Seb Ruiz'</From>
<Text>
<Sentence ID = "2.1"> Sorry, I can't reproduce this. </Sentence>
<Sentence ID = "2.2"> I just tried, and there is information shown in the progress bar and nowhere else.</Sentence>
<Sentence ID = "2.3"> I'm copying tracks to my local sql collection. </Sentence>
<Sentence ID = "2.4"> I assume you are doing the same?</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 09:30:31'</Date>
<From>'Evert Vorster'</From>
<Text>
<Sentence ID = "3.1"> Are you using Amarok to move the files? </Sentence>
<Sentence ID = "3.2"> It still opens a file dialog for every file that it is \"organising\"</Sentence>
<Sentence ID = "3.3"> I just checked again.</Sentence>
<Sentence ID = "3.4"> I have the following options ticked on in the Organise files option.</Sentence>
<Sentence ID = "3.5"> Use cover art for folder icons</Sentence>
<Sentence ID = "3.6"> Ignore \"the\" in artist names</Sentence>
<Sentence ID = "3.7"> Group by file type</Sentence>
<Sentence ID = "3.8"> Replace spaces with underscores</Sentence>
<Sentence ID = "3.9"> restrict to ASCII</Sentence>
<Sentence ID = "3.10"> VFAT safe filenames</Sentence>
<Sentence ID = "3.11"> Overwrite destination</Sentence>
<Sentence ID = "3.12"> It might be that one of those options trigger this, or the combination.</Sentence>
<Sentence ID = "3.13"> Weird.</Sentence>
<Sentence ID = "3.14"> Once I started messing around with what is ticked, the problem went away.</Sentence>
<Sentence ID = "3.15"> Now I am also unable to reproduce it. </Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 12:40:38'</Date>
<From>'Evert Vorster'</From>
<Text>
<Sentence ID = "4.1"> I have been able to reliably reproduce the bug. </Sentence>
<Sentence ID = "4.2"> Use the files tab of amarok, then click on the directory that you want to move the files from, select move to collection. </Sentence>
<Sentence ID = "4.3"> Select the following:</Sentence>
<Sentence ID = "4.4"> Use cover art for folder icons </Sentence>
<Sentence ID = "4.5"> Ignore \"the\" in artist names </Sentence>
<Sentence ID = "4.6"> Group by file type </Sentence>
<Sentence ID = "4.7"> Replace spaces with underscores restrict to ASCII </Sentence>
<Sentence ID = "4.8"> VFAT safe filenames </Sentence>
<Sentence ID = "4.9"> Overwrite destination </Sentence>
<Sentence ID = "4.10"> It makes lots of file transfer windows for me, every time. </Sentence>
<Sentence ID = "4.11"> -Evert-</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 13:05:42'</Date>
<From>'Seb Ruiz'</From>
<Text>
<Sentence ID = "5.1"> I still can't reproduce this.</Sentence>
<Sentence ID = "5.2">  Are you using copying using Amarok's filebrowser, or are you organising the collection browser?</Sentence>
<Sentence ID = "5.3"> How did you install amarok (compiled, packages etc) and which platform are you using</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 14:05:34'</Date>
<From>'Evert Vorster'</From>
<Text>
<Sentence ID = "6.1"> I am using Amarok's file browser. </Sentence>
<Sentence ID = "6.2"> I think so, anyways. </Sentence>
<Sentence ID = "6.3"> I click on the files tab.</Sentence>
<Sentence ID = "6.4"> I have noticed that I only get the lots of file moving dialogs if I have all of those options ticked. </Sentence>
<Sentence ID = "6.5"> Right now I am moving my files in to my collection with Overwrite destination unticked and I do not get the file dialogs then. </Sentence>
<Sentence ID = "6.6"> I downloaded the source of amarok 1.94, and compiled it with gcc 4.2.3</Sentence>
<Sentence ID = "6.7"> I am using Sorcerer Linux, so all software on my system is hand-optimized and locally compiled.</Sentence>
<Sentence ID = "6.8"> -Evert-</Sentence>
</Text>
</Turn>

<Turn>
<Date>'2008-11-08 14:12:05'</Date>
<From>'Seb Ruiz'</From>
<Text>
<Sentence ID = "7.1"> SVN commit 881542 by seb:</Sentence>
<Sentence ID = "7.2"> Fix boolean logic which caused the progress info to be shown when overwriting tracks during a collection copy.</Sentence>
<Sentence ID = "7.3"> BUG: 174533</Sentence>
<Sentence ID = "7.4">  M  +2 -0      ChangeLog  </Sentence>
<Sentence ID = "7.5">  M  +1 -1      src/collection/sqlcollection/SqlCollectionLocation.cpp  </Sentence>
<Sentence ID = "7.6"> WebSVN link: http://websvn.kde.org/?view=rev&amp;revision=881542</Sentence>
</Text>
</Turn>

</BugReport>
</root>