After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 80683 - "Add Emblem" dialog is modal
"Add Emblem" dialog is modal
Status: RESOLVED FIXED
Product: nautilus
Classification: Core
Component: [obsolete] Backgrounds Emblems and Themes
0.x.x [obsolete]
Other Linux
: High major
: ---
Assigned To: Nautilus Maintainers
Nautilus Maintainers
Depends on:
Blocks:
 
 
Reported: 2002-05-03 13:14 UTC by Håvard Wigtil
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Made dialog not modal and fixed a few other problems (9.72 KB, patch)
2002-05-28 18:41 UTC, Damon Chaplin
none Details | Review

Description Håvard Wigtil 2002-05-03 13:14:10 UTC
This freezes up Nautilus, and I'm not able do drag an image to the "select
image" button.
Drag'n'drop is used with similar controls other places in Gnome. If the
dialog is mage modeless, there might still be some problems with
drag'n'drop because of bug 80682.
Comment 1 Luis Villa 2002-05-20 16:52:56 UTC
Eck. Modal==bad...
Comment 2 Damon Chaplin 2002-05-20 21:02:39 UTC
I'll take a look at this.
Comment 3 Damon Chaplin 2002-05-28 18:41:03 UTC
Created attachment 8794 [details] [review]
Made dialog not modal and fixed a few other problems
Comment 4 Damon Chaplin 2002-05-28 18:45:23 UTC
It was using one 'dialog' pointer for all 3 of the dialogs for adding
patterns, colors and emblems. I changed it to use 3 pointers instead,
so they don't have to be modal.

It was using 'property_browser->details->category' in some of the
callbacks, which meant it didn't work if the user had switch to one of
the other patterns/colors/emblems pages. I hard-coded "patterns" and
"emblems" instead.
Comment 5 Alexander Larsson 2002-05-30 14:54:16 UTC
+
if (property_browser->details->patterns_dialog) {
+
	gtk_widget_show(property_browser->details->patterns_dialog);
+
	if (property_browser->details->patterns_dialog->window) {
+
		gdk_window_raise(property_browser->details->patterns_dialog->window);
 
	}

missing a space before parenthesis, and it should be using
gtk_window_present() instead of show + raise. Same goes for all three
dialogs.

I'm somewhat worried by the fact that the weak pointers are never
removed, but it seems like it will not cause trouble (just ends up
NULLing some pointers twice).

With those changes, please commit.
Comment 6 Damon Chaplin 2002-05-30 19:59:28 UTC
The missing space, show and raise things were old code, of course.

But I've fixed those and applied.


Yes, I didn't think the weak pointers mattered, as they just NULLed
out pointers we were going to NULL anyway.